Skip to content

Commit b39dbaf

Browse files
authored
docs: Add cluster sizing
1 parent b00b4eb commit b39dbaf

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

docs/content/Deployment/Production-Checklist.mdx

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,27 @@ monitoring service of choice to use the [`/readyz`][ref-api-readyz] and
9595
[`/livez`][ref-api-livez] API endpoints so you can check on the Cube
9696
deployment's health and be alerted to any issues.
9797

98+
## Appropriate cluster sizing
99+
100+
There's no one-size-fits-all when it comes to sizing Cube cluster, and its resources.
101+
Resources required by Cube depend a lot on the amount of traffic Cube needs to serve and the amount of data it needs to process.
102+
The following sizing estimates are based on default settings and are very generic, which may not fit your Cube use case, so you should always tweak resources based on consumption patterns you see.
103+
104+
Every Cube API instance should have at least 3GB of RAM and 2 CPU cores allocated for it.
105+
Each Cube cluster should contain at least 2 Cube API instances.
106+
Refresh workers tend to be much more CPU and memory intensive, so at least 6GB of RAM is recommended.
107+
Please note that to take advantage of all available RAM, the Node.js heap size should be adjusted accordingly.
108+
The Cube Store router node should have at least 6GB of RAM and 4 CPU cores allocated for it.
109+
Every Cube Store worker node should have at least 8GB of RAM and 4 CPU cores allocated for it.
110+
The Cube Store cluster should have at least two worker nodes.
111+
112+
Depending on schema size, every Core Cube API instance can serve 1 to 10 requests per second.
113+
Every Core Cube Store router node can serve 50-100 queries per second.
114+
As a rule of thumb, you should provision 1 Cube Store worker node per one Cube Store partition or 1M of rows scanned in a query.
115+
For example if your queries scan 16M of rows per query, you should have at least 16 Cube Store worker nodes provisioned.
116+
`EXPLAIN ANALYZE` can be used to see partitions involved in a Cube Store query.
117+
Cube Cloud ballpark performance numbers can differ as it has different Cube runtime.
118+
98119
[blog-migrate-to-cube-cloud]:
99120
https://cube.dev/blog/migrating-from-self-hosted-to-cube-cloud/
100121
[link-caddy]: https://caddyserver.com/

0 commit comments

Comments
 (0)