Looker is built to scale to large data volumes and user counts, and tends to be performant under heavy load. In general, performance issues are uncommon and are avoidable with good design.
However, design patterns that are appropriate in some situations may not be appropriate in others. It's important to find the right balance of simplicity, extensibility, and scalability.
Instance-level considerations
Various objects in Looker can contribute to scalability at the instance level. The following table lists some object thresholds beyond which you should apply specific design approaches to achieve your goals. The thresholds listed are not hard limits, and you can create Looker instances that exceed them if you have the right design. If you are planning an instance that requires any of these thresholds be exceeded, work with your Looker account team to advise you on how to apply these design guidelines in your situation.
Looker Objects | Thresholds Beyond Which You Should Review Your Design for Scale |
---|---|
Database connections | 50 per instance |
Projects | 50 per instance |
Models | 100 per instance |
Explores | 500 per instance |
Views | 2,000 per instance |
Fields | 2,000 per Explore |
If your instance will come close to exceeding multiple different object thresholds, there will be further design specifics to consider. If you are planning such a design, it is even more important that you work with your Looker account team.
Instance scaling dimensions
A Looker instance is the top-level construct for administration and management in Looker. An instance can be scaled up (larger hardware resources) or out (more nodes) to accommodate larger deployments.
Scale Dimension | Recommended Limits of Concurrent Users (Weekly Active Users) |
---|---|
X-Small (default) | < 20 |
Small | < 40 |
Medium | < 80 |
Large and beyond | Larger configurations are available — work with your Looker account team. |
If you will need more than the default configuration and your instance is hosted by Looker, work with your Looker account team to ensure that your deployment is configured appropriately.