tiwata
09/01/2026, 10:21 AMRocky
09/01/2026, 10:21 AMc5d, m5d, or r5d series). Local NVMe provides the lowest latency and highest IOPS for cache hits.
* Alternative: If using standard instances, use EBS gp3 volumes. Ensure you provision enough IOPS to handle the concurrent read load.
2. Cache Size
Even though your data is 10 GB, you should over-provision the cache to account for metadata, multiple versions of data during refreshes (hourly), and potential growth.
* Recommended Cache Size: 50 GB - 100 GB per CN node. This ensures the entire 10 GB working set is "pinned" in the fast local tier.
3. CN Configuration (cn.conf)
Ensure the following parameters are set in your CN configuration (or via the StarRocks Operator's config section):
properties
# Enable the Data Cache (enabled by default in v3.2.3+)
starlet_use_star_cache = true
# Path where the cache will be stored (point this to your NVMe/SSD mount)
storage_root_path = /opt/starrocks/storage
# Set cache size: use 80% of the allocated disk for caching
starlet_star_cache_disk_size_percent = 80
4. Proactive Warmup
Because your MV refreshes hourly, the "new" data starts on S3. To ensure the first queries after a refresh hit the P95 target, you can proactively warm up the cache:
sql
-- Manually trigger a cache warmup for the MV
CACHE SELECT * FROM your_mv_name;
Concurrency Considerations
300 concurrent connections is a standard workload for StarRocks. To optimize for this:
* FE Scaling: Ensure you have at least 3 FE nodes for high availability and to handle connection overhead.
* Variable Tuning: Set max_user_connections high enough (e.g., ALTER USER 'your_user' SET PROPERTIES ("max_user_connections" = "1000");) and consider setting query_queue_concurrency_limit if you want to prevent resource exhaustion during extreme peaks.
References
• faq/Others.md
• knowledge/usage/best-practice.md
• faq/Sql_faq.md
• best_practices/audit_log_resource_group.md
• deployment/environment_configurations.md
• administration/management/resource_management/Query_management.mdtiwata
09/01/2026, 10:53 AMRocky
09/01/2026, 10:53 AMCACHE SELECT * FROM mv_name immediately after the hourly refresh completes.
References
• deployment/shared_data/feature-support-shared-data.md
• introduction/Architecture.md
• knowledge/usage/load/shared_data_batch_ingestion.md
References
• deployment/shared_data/feature-support-shared-data.md
• introduction/Architecture.md
• knowledge/usage/load/shared_data_batch_ingestion.mdtiwata
09/03/2026, 3:08 PMRocky
09/03/2026, 3:08 PMm6id.4xlarge
* Specs: 16 vCPU, 64 GB RAM, 1 x 950 GB NVMe SSD.
* Why:
* CPU: 300 concurrent connections (distributed as ~100 per CN) require significant vCPU to handle query planning execution and context switching. 16 vCPUs is the recommended production baseline for high-concurrency BE/CN nodes.
* RAM: 64 GB allows for sufficient overhead for query execution and metadata management.
* Storage: The local NVMe SSD is the most critical part. It will store the 10 GB Data Cache for your MVs. Local NVMe latency is orders of magnitude lower than EBS, which is essential for hitting your 2s P95 target.
* Alternative: If your queries are computationally light, you could use c6id.4xlarge (16 vCPU, 32 GB RAM), but m6id is safer for production memory overhead.
2. FE Nodes (Management & Planning)
Recommendation: m6i.2xlarge
* Specs: 8 vCPU, 32 GB RAM.
* Why:
* High Concurrency: 300 concurrent users will put pressure on the FE for connection management and query parsing. 8 vCPUs is the standard recommendation for production FEs.
* Metadata: StarRocks stores metadata in memory. While your 10 GB MV is small, 32 GB of RAM provides plenty of room for growth as you add more MVs or tables.
* Disk: FE metadata logs can be stored on standard EBS (gp3) volumes, as they are not in the query data path.
──────────
Comparison Summary
Node Type | Recommended EC2 Instance | Role in your Architecture
FE (x3) | m6i.2xlarge | Manages 300 connections and query planning.
CN (x3) | m6id.4xlarge | Executes queries and hosts the Data Cache on local NVMe.
EKS Deployment Notes
* NVMe Mounting: When using the StarRocks Operator on EKS, ensure you use a Local Static Provisioner or a similar method to mount the EC2 instance's local NVMe SSD to the CN pods at the path specified in storage_root_path.
* Networking: Use the Amazon VPC CNI and ensure your CN nodes are in the same placement group or availability zones as your FEs to minimize inter-node latency.
* Warmup: Since you refresh hourly, your first query after a refresh will fetch data from S3. To maintain your P95 < 2s, automate a CACHE SELECT or a dummy query against the MV immediately after the refresh finishes.
References
• deployment/plan_cluster.md
• deployment/environment_configurations.md
• faq/Deploy_faq.md
• administration/management/BE_configuration.md
• deployment/deploy_manually.md
• introduction/Architecture.md
• quick_start/shared-data.md
• deployment/plan_cluster.md
• deployment/environment_configurations.md
• faq/Deploy_faq.md
• administration/management/BE_configuration.md
• deployment/deploy_manually.md
• introduction/Architecture.mdRocky
09/03/2026, 3:08 PM