StarRocks集群配置计算
为了实现集群高可用,建议集群最低3个节点,FE和BE分开部署也可以混合部署。
单节点配置要求:
- BE推荐16核64GB内存以上,FE推荐16核64GB内存以上。
- 磁盘可以使用HDD或者SSD。
- CPU必须支持AVX2指令集,
cat /proc/cpuinfo |grep avx2
确认有输出即可,如果没有支持,建议更换机器,StarRocks的向量化技术需要CPU指令集支持才能发挥更好的效果。 - 网络需要万兆网卡和万兆交换机。
环境支持要求:
-
Linux (Centos 7+)
-
Java 1.8+
假定内存、磁盘都不会拖后腿的情况下,分析/查询的性能瓶颈在 CPU 的处理能力。所以通过对 CPU 的算力要求,来预估集群的数量。
集群需要的总 CPU 资源:e_core = scan_rows / cal_rows / e_rt * e_qps
变量名 | 变量含义 | 样例 |
---|---|---|
e_core | 预计要使用的CPU核数(vCPU) | |
vCPU总数(逻辑处理器) = Socket数(CPU个数)x Core数(内核)x Thread数(超线程) | 540c | |
scan_rows | 线上典型场景中的数据扫描量 | 3000万 |
e_qps | 预期线上QPS | 180qps |
e_rt | 预期线上响应时间 | 300ms |
cal_rows | StarRocks针对SQL场景的计算能力 | 3000万/s |
场景样例:
-
数据量:事实表一年 3.6亿行数据,大约 100万行/天;
-
典型查询场景:一个月的事实表数据( 3000万 )和比较小的的维度表(万级别)做关联,再进行 group by、sum 等聚合计算;
-
期望:响应时间在 300ms 以内,业务的峰值 QPS 达 180 左右。
估算解释:
-
StarRocks 的处理能力在“单核 1000万~1亿/秒”,此场景有「多表 join」和「group by」以及一些表达式函数,相对复杂,所以按照「 3000万/s 的计算能力」估算,需要 3 个 vCPU:3000万 / 3000万/s / 300ms = 3c。
-
并发峰值为180qps,因此需要 3 * 180 = 540c,即总共需要 540 个 vCPU。按单台物理机48虚拟核(vCPU)算,理论计算大约需要12台物理机。
-
实际 POC 过程中,用3台物理机16虚拟核进行压力测试,能够在40qps下满足300-500ms的响应时间。最终,线上确定用7台48虚拟核的物理机。 所以,还是建议用户要根据实际的业务场景做一下POC测试。
综上:根据POC的测试结果,建议用户搭建3个FE节点每个节点16核64GB内存、7个BE节点每个节点48核152GB内存。
其他说明:
-
计算业务越复杂、处理中的一行的列数量越多越复杂,每秒能处理的行数就会越少;
-
计算中「条件过滤」的效果越好(能过滤掉很多数据),则能处理的行数就会越多(因为内部有一些索引结构,能更快地帮助处理数据);
-
不同「表模型」会对处理能力有很大影响,上面是按照「明细模型」估算。其他模型,内部会有一些特殊处理,真实的数据量行数会和用户理解的数据量行数有一些差异;同时,分区/分桶,也会对查询性能有很大影响;(我们有其他相关文档来指导用户如何使用以达到最佳性能)
-
对于一些需要扫描大量数据的场景,磁盘的性能也会影响处理能力。需要时,可以使用SSD来加速。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY