Regardless of whether you use Cube to power AI agents, keep BI tools in sync, or provide embedded analytics, performance is certainly one of the most important concerns. Needless to say, querying latency and concurrency have deep impact on end-user experience, and one certainly notices when performance leaves a lot to be desired.

Today, we're announcing Performance Insights, the latest addition to Cube Cloud workspace that helps analyze the performance of your deployments and fine-tune their configurations. On top of that, we're also revealing a set of tools that complement Performance Insights and help boost the performance of your deployments: multi-cluster deployments, deployment warm-up, and pre-aggregation index suggestion.

Performance Insights

Now, the all-new Performance page in Cube Cloud displays a selection of time-series charts that focus on certain aspects of your deployment's performance:

  • API instances chart shows the number of API instances that serve queries to the deployment. Use to fine-tune the auto-scaling of API instances.
  • Requests by cache type and Avg. response time by cache type charts show the impact of specific cache types on query performance. Use to give your queries a boost with pre-aggregations.
  • Requests by data model compilation and Wait time for data model compilation show the impact of dynamic data models and multitenancy on query performance. Use to fine-tune multitenancy configuration and consider switching to production multi-cluster deployment type.
  • Finally, Saturation for queries by Cube Store workers and Wait time for queries by Cube Store workers provide insights on Cube Store performance. Use to choose the right number of Cube Store workers.

Performance Insights

Performance Insights are available to all Cube Cloud users on Premium and above tiers. Read more about Performance Insights in the documentation.

Multi-cluster deployments

Cube Cloud offers three deployment types, tailored for different use cases, workload sizes, and scalability requirements: development instances, production clusters, and production multi-clusters.

Multi-cluster deployments are specifically designed for the most demanding production workloads, high-scalability, high-availability, and massive multitenancy. They route API requests over a number of production clusters and can be configured to provide sticky behavior so that a specific production cluster would serve the load from a subset of application tenants.

from cube import config
@config('context_to_app_id')
def route_requests(ctx: dict) -> str:
return f"CLUSTER_{ctx['securityContext']['tenant_id']}"

Multi-cluster deployments would come useful if Performance Insights indicate undesired wait time for data model compilation or if you'd like to spread the load over more than 10 API instances, e.g., employ auto-scaling from 6 to 30 API instances.

Multi-cluster deployments are available to all Cube Cloud users on Premium and above tiers. Read more about production multi-clusters in the documentation.

Deployment warm-up

Cube Cloud provides a couple of deployment warm-up options that improve querying performance by executing time-consuming tasks after a deployment is spun up but before it's exposed to API requests: pre-aggregation warm-up and data model warm-up.

Pre-aggregation warm-up has already been part of Cube Cloud for a long time. It refreshes the pre-aggregations before a deployment is exposed to requests from users, making sure they aren't affected by the pre-aggregation build time.

Now, we're glad to introduce data model warm-up. In a similar fashion, it compiles the data model before it's exposed to requests from users, making sure that they aren't affected by the initial data model compilation time.

Deployment warm-up

Deployment warm-up is available to all Cube Cloud users on Starter and above tiers. Read more about deployment warm-up in the documentation.

Pre-aggregation index suggestion

As mentioned above, Performance Insights provide an overview of API requests by specific cache types. Pre-aggregations in Cube Store represent the most performant option. However, if optimal pre-aggregation indexes are not configured, it's still possible that a query would use pre-aggregations with a suboptimal query plan.

Now, Cube Cloud highlights such queries in Query History and Performance Insights, hinting that you can get an additional performance boost with correct pre-aggregation indexes:

Pre-aggregation index suggestion

Pre-aggregation index suggestion is available to all Cube Cloud users on Starter and above tiers. Read more about pre-aggregation indexes in the documentation.

What's next?

We hope that these updates would enable you to get more visibility over the performance of your Cube Cloud deployments and speed them up.

Please stay tuned for news on Cube Cloud and Cube Core; we have plenty of new features and updates to be revealed soon. As always, your feedback and questions are much appreciated. Please join our Slack community today and share your thoughts.