亚马逊AWS官方博客

用数据选型:StarRocks 跨架构(arm64 vs x86)基准测试记录

摘要:许多团队在 Amazon EC2 上自建 StarRocks 做实时分析,但选型时往往缺乏同口径的跨架构对比数据。本文基于 TPC-H / TPC-DS SF1000 基准,在 StarRocks 存算分离架构下,横评 Graviton(arm64)与 x86 同规格实例的查询性能与价格性能,给出可复现的量化结论——帮助你用数据而非直觉做出选型决策。


1. 引言与背景

StarRocks 已成为许多团队构建实时数仓、Ad-hoc 分析与湖仓一体的核心引擎。当把它自建部署在 Amazon EC2 上时,团队通常会遇到以下痛点:

  • 成本压力:分析集群往往是 7×24 常驻的大规格实例,计算成本是月度账单的主要部分。
  • 选型惯性:习惯性选择 x86 实例,不确定 AWS Graviton(arm64)是否适配 StarRocks 这类向量化分析负载。
  • 缺乏同口径数据:网上零散的跑分方法论各异,难以直接用于选型决策。
  • 凭感觉而非凭数据:缺少”同一负载、同一方法、跨架构横评”的量化依据。

本文用标准 TPC-H / TPC-DS 基准,在完全一致的方法论下给出跨架构的性能与价格性能数据,帮助你做数据驱动的实例选型。

2. 技术背景

2.1 StarRocks 简介

StarRocks 是一款开源的 MPP(大规模并行处理)、列式存储、向量化执行的高性能分析型数据库,兼容 MySQL 协议,广泛用于实时数仓、Ad-hoc 查询与湖仓分析。

本次测试采用 StarRocks 的 存算分离(shared-data)架构

组件 角色 说明
FE(Frontend) 元数据管理、查询解析与调度 轻量,不承担数据扫描
CN(Compute Node) 无状态计算节点,执行扫描/聚合/Join 计算能力的来源,本次横评的主体
对象存储Amazon S3 持久化存储层(Storage Volume) 数据与计算解耦,计算层可弹性伸缩

存算分离带来一个关键优势,也正是本文的前提:CN 是无状态的、可随时增删的计算单元,且 StarRocks 原生支持 arm64——这意味着你可以在几乎零改造成本下,把计算层从 x86 切换到 Graviton,只为”更便宜地跑同样的查询”。

2.2 AWS Graviton 简介

AWS Graviton 是 AWS 自研、基于 Arm Neoverse 内核、面向云工作负载优化的处理器。历经多代演进:

代际 代表实例(本文相关) 特点
Graviton3 r7g 相较 Graviton2 大幅提升性能与能效
Graviton4 r8g 主要增强:L2 Cache 从 1M 增加至 2M;内存采用 12 通道 DDR5-5600 MT/s,整体内存带宽提升 75%。
最新一代 Graviton m9g 主要增强:1/CPU 运行频率从 2.8GHz 提升到 3.3GHz;2/ L3 Cache 容量进一步增强,整 socket 从 36M 提升至 192M;3/ 内存频率进一步提升至 DDR5-8800 MT/s

Graviton 的核心价值主张是更优的性价比:同等规格下通常比对应 x86 实例更便宜,且在众多负载上性能相当或更优。得益于成熟的 arm64 生态(Linux、JVM、容器、主流大数据栈均已原生支持),Java 应用(如 StarRocks)迁移到 Graviton 的成本极低。本文的目标,就是用实测数据检验这一价格性能承诺在 StarRocks OLAP 负载上的真实表现。

3. 测试方法与环境

3.1 架构

每个被测实例类型部署为一套独立的 StarRocks 存算分离集群,彼此隔离、互不干扰:

[图 1]

  • 每套集群:1× FE + 3× 被测机型 CN + 独立 S3 存储卷。
  • 每个 CN 配 500 GB gp3 作为本地 Data Cache(统一配置,消除存储介质变量)。
  • FE 统一使用 m8g.2xlarge(保持不变,隔离出 CN 这一唯一变量)。

3.2 参测实例(.8xlarge,32 vCPU)

实例 架构 代际 vCPU 内存 按需价格($/小时,us-west-2)
m9g.8xlarge Graviton (arm64) 最新一代 32 128 GiB 1.565
m8g.8xlarge Graviton (arm64) Graviton4(通用型) 32 128 GiB 1.436
r8g.8xlarge Graviton (arm64) Graviton4 32 256 GiB 1.885
r7g.8xlarge Graviton (arm64) Graviton3 32 256 GiB 1.714
r6g.8xlarge Graviton (arm64) Graviton2 32 256 GiB 1.613
r8i.8xlarge Intel x86-64 最新一代 32 256 GiB 2.223
r7i.8xlarge Intel x86-64 上一代 32 256 GiB 2.117
m8i.8xlarge Intel x86-64 最新一代 32 128 GiB 1.693
r6i.8xlarge Intel x86-64 第 6 代 32 256 GiB 2.016
r7a.8xlarge AMD x86-64 EPYC 32 256 GiB 2.434

价格为撰写时 us-west-2 Linux 按需价,仅供相对比较;请以 AWS 官方定价 为准。阵容涵盖 Graviton 四个代际(2/3/4/最新)、Intel 三代(含第 6 代对照)与 AMD,其中 m8gr8g 同为 Graviton4(通用型 vs 内存型)。

3.3 数据集

基准 规模 关键事实表行数
TPC-H SF1000 lineitem ≈ 60.0 亿(5,999,989,709)
TPC-DS SF1000 store_sales ≈ 28.8 亿(2,879,987,999)

所有集群加载后均校验行数一致,确保跨机型可比。

3.4 方法论

  • StarRocks 3.5.19,Amazon Linux 2023,us-west-2a 单可用区(消除跨 AZ 网络差异)。
  • 数据从 S3 数据集灌入各集群独立存储卷;各集群相互独立,跑测互不争抢。
  • SF1000 为主结果:每机型跑 3 轮取最优(热运行),消除冷缓存抖动,可信度高。
  • TPC-H 报告 22 条查询总时长;TPC-DS 报告 99 条查询总时长(poc benchmark 工具输出)。

4. 性能结果

4.1 TPC-H

TPC-H SF1000(22 查询总时长,秒,越小越快)

[图 2]

4.2 TPC-DS

TPC-DS SF1000(99 查询总时长,秒,越小越快)

[图 3]

5. 性价比分析(核心)

单看速度还不够——真正决定账单的是**”跑完同样的工作要花多少钱”**。我们用如下指标衡量价格性能:

性价比指数 = 基准 ÷(总时长 × 计算集群单价),并归一化到最优者 = 100。其中计算集群单价 = 3 × 被测机型按需单价(FE 固定,不计入差异)。指数越高越省钱。

性价比指数(m8g = 100,越高越好)

[图 4]

关键结论

1. Graviton4(m8g)价格性能最优 — TPC-H 和 TPC-DS 双基准均排名第一

(指数 = 100),跑同样负载的花费最低。

2. 同代 Graviton vs x86 省 34%–52% — 以 TPC-H 为例,m8g(1.00×)对比

m8i(1.52×),完成相同查询省钱约 34%;对比 r7i 省约 46%。

3. “便宜 ≠ 慢” — Graviton4 不仅单价低 ~20%($/h),且查询总时长也领先

(149s vs 194s),价格和性能双赢。

4. 老代 Graviton 仍有竞争力 — r7g(Graviton3)性价比指数 74,仍优于最新

Intel r8i(55)和 AMD r7a(52)。

一个值得注意的细节:本次 Graviton 的领先,是在其 arm 向量化仍有优化空间的情况下取得的。根据 StarRocks 3.5.19 的开源构建配置,其 aarch64 版本使用基线 ARMv8-A(128-bit NEON),尚未启用 SVE2 或针对具体 Graviton 代际的编译调优;而 x86 版本默认启用 256-bit AVX2。即便如此,Graviton 仍在 TPC-H 与 TPC-DS(SF100/SF1000)上取得更优的性能与价格性能——例如最重的 TPC-H Q1,Graviton 仍快约 40%。

我们的解读是:对这类以扫描、连接、聚合为主、主要受内存带宽约束的分析负载,决定性因素是内存子系统、单核处理效率与实例单价,而非 SIMD 向量宽度。也正因如此,针对 arm 的进一步 SIMD 优化对本类负载多为锦上添花;其更大价值在于为字符串/正则、压缩、高算力等计算密集型场景预留了上行空间。

(说明:以上基于对 StarRocks 开源构建配置的核验,非对发行二进制的反汇编;实例代际以命名推断。)

6. 选型建议

诉求 推荐实例 理由
最佳价格性能(默认首选) m8g 两个基准价格性能第一,当代机型最低单价
最快原始性能 m9g(TPC-H)/ m8g(TPC-DS) TPC-H 最快是 m9g;TPC-DS 最快是 m8g
内存密集型、单节点大内存 r8g / r7g(256 GiB) r 系列 8GB/vCPU,适合大 Join/聚合
必须 x86 生态绑定 m8i x86 中价格性能最好的一款
存量老实例升级 r7g/r6gm8g/m9g 升级到 Graviton4/最新代,价格性能显著提升

7. 成本分析

以 TPC-DS SF1000 工作负载为例,仅计算 3× CN 的按需计算成本(FE 固定):

实例 3×CN 单价($/h) 相对成本(跑 TPC-DS SF1000,越低越省)
m8g 4.31 1.00×(基准)
m9g 4.70 1.15×
r7g 5.14 1.32×
r8g 5.66 1.39×
m8i 5.08 1.53×
r6g 4.84 1.73×
r8i 6.67 1.81×
r7i 6.35 1.83×
r7a 7.30 1.96×
r6i 6.05 2.14×

对于 7×24 常驻的分析集群,价格性能的差距会逐月累积成可观的账单差异。请使用 AWS Pricing Calculator 结合你的实际实例数量、运行时长与购买方式(按需 / Savings Plans / 预留)做精确估算。

8. 常见问题(FAQ)

Q:StarRocks 在 Graviton(arm64)上稳定吗?

A:StarRocks 提供官方 arm64 构建,本次全部 Graviton 集群均使用官方 3.5.19 镜像正常运行,数据加载与查询无异常。

Q:从 x86 迁移到 Graviton 的改造成本高吗?

A:StarRocks 基于 JVM/C++,官方已提供 arm64 制品;存算分离下 CN 无状态,替换计算层不影响数据(数据在 S3)。

Q:为什么用存算分离架构测试?

A:它让”更换 CPU 架构”成为一个近乎零成本的操作,也最贴近现代云上弹性分析集群的部署方式;同时保证跨机型对比时数据层完全一致。

Q:结果可以复现吗?

A:可以。附录 B 给出了部署与运行方式;数据集与结果均保存在 S3,便于二次核对。

9. 总结

维度 结论
性能 Graviton(m9g/m8g/r8g/r7g)在 TPC-H、TPC-DS 的 SF1000 上包揽前四
价格性能 Graviton 全面领先;m8g(Graviton4 通用型)为性价比冠军,m9g 紧随
相对最新 Intel 同一 TPC-DS SF1000 负载,m8g 成本仅为 r8i 的 ~55%(r8i 多花约 81%)
老代 Graviton 两代前的 Graviton2(r6g)TPC-DS 价格性能仍高于最新 Intel r8i
迁移成本 存算分离 + arm64 原生支持,切换计算层近乎零改造

适用场景:在 EC2 上自建 StarRocks 的实时数仓 / Ad-hoc 分析 / 湖仓查询集群,尤其是长期常驻、对计算成本敏感的场景。

➡️ 下一步行动:

相关产品:

  • Amazon EC2 — 安全且可调整大小的计算容量,支持几乎所有工作负载
  • Amazon S3 — 适用于 AI、分析和存档的几乎无限的安全对象存储

相关文章:

10. 附录

10.1 附录 A:单查询明细

下表为各机型逐查询最优耗时(毫秒),可用于定位强弱查询模式。

10.2 A.1 TPC-H SF1000 逐查询耗时(毫秒,3 轮取最优)

Query m8g m9g r8g r7g r6g r8i r7i m8i r6i r7a
Q1 6299 5473 6967 7661 11072 8913 9817 8942 11499 8110
Q2 4 4 5 4 5 4 5 4 5 4
Q3 2899 2915 3423 3603 5066 4096 4144 4274 4832 3684
Q4 2478 2434 2406 2250 3551 2672 2768 3007 3243 2368
Q5 6 5 5 4 5 5 5 4 5 5
Q6 119 99 150 151 211 158 180 159 180 156
Q7 5 5 5 5 5 5 6 5 6 5
Q8 6 6 6 5 6 6 6 6 6 6
Q9 5 5 5 4 4 5 5 4 5 4
Q10 3623 3788 4231 4628 6559 4785 5106 4796 6063 4490
Q11 4 4 4 4 4 4 4 4 4 4
Q12 1067 830 514 614 936 541 624 997 668 444
Q13 4734 5442 5385 5055 9551 6197 6461 7195 7317 6187
Q14 539 519 668 677 998 793 889 767 911 757
Q15 5 5 5 4 5 5 6 4 5 5
Q16 857 717 1094 1074 1669 928 960 895 1186 923
Q17 1749 1326 1548 1722 2623 1396 1563 1508 1728 1179
Q18 7354 7319 8656 8364 12288 7867 8115 9402 9589 8834
Q19 2519 1923 2632 2985 3912 2186 2556 2187 2941 1826
Q20 4 5 5 4 5 5 5 4 5 5
Q21 4 5 5 4 4 4 5 4 5 4
Q22 929 774 1050 1067 1576 955 1024 935 1255 938

10.3 A.2 TPC-DS SF1000 逐查询耗时(毫秒,3 轮取最优)

Query m8g m9g r8g r7g r6g r8i r7i m8i r6i r7a
Query01 407 353 474 523 685 568 576 571 683 686
Query02 404 359 436 463 677 549 589 542 662 510
Query03 92 110 94 109 144 100 120 95 118 98
Query04 7154 6924 6678 8053 9728 8440 8274 9353 9954 8236
Query05 202 186 213 225 358 245 264 244 280 207
Query06 152 141 221 184 286 175 153 175 184 134
Query07 290 388 308 339 505 379 421 374 478 361
Query08 145 242 162 171 236 172 178 166 192 160
Query09 2972 2438 2821 3034 4257 3062 3616 3264 3831 2654
Query10 171 167 190 195 289 244 218 211 245 175
Query11 4294 4315 4469 5643 5745 5036 5203 5091 6151 4785
Query12 96 89 106 106 152 115 118 112 118 116
Query13 222 196 236 253 333 270 309 256 310 254
Query14 5371 4762 5427 5896 8858 6590 7563 7662 8912 6889
Query15 333 300 975 395 673 988 415 385 452 450
Query16 937 817 658 554 756 819 909 831 867 816
Query17 1187 897 1777 1281 2172 1058 801 935 1212 949
Query18 398 362 431 489 699 499 542 476 599 448
Query19 148 155 166 172 255 165 175 164 192 148
Query20 111 104 123 126 165 136 134 131 141 122
Query21 58 53 66 61 81 67 74 67 69 61
Query22 1065 840 1180 1404 2247 998 1260 1069 1413 1010
Query23 34274 38354 38019 41391 60356 47792 51255 49577 63450 46574
Query24 3119 2580 1474 1636 2450 1752 2115 3301 2266 1587
Query25 1111 896 1460 1020 1594 920 733 1094 951 899
Query26 191 161 204 230 319 231 262 243 292 213
Query27 231 307 235 262 360 280 332 278 354 239
Query28 2521 2159 2120 2183 3232 2667 3073 3095 3274 2275
Query29 1572 1517 1856 1602 1576 1696 955 1709 1090 798
Query30 220 200 241 252 328 260 266 260 297 284
Query31 1384 1365 1447 1454 1703 1566 1298 1551 1695 1432
Query32 81 75 91 93 127 99 107 96 105 88
Query33 157 168 208 185 263 197 202 178 218 189
Query34 200 228 216 229 332 237 278 237 293 201
Query35 721 597 818 813 1156 808 881 784 1011 787
Query36 245 349 272 299 427 320 374 319 397 263
Query37 118 102 119 146 184 128 154 128 165 115
Query38 1941 1798 2234 2236 3192 2400 2703 2446 3328 2292
Query39 240 219 290 307 438 279 302 281 357 276
Query40 95 90 106 110 148 110 118 110 123 112
Query41 44 41 51 49 58 53 61 53 48 48
Query42 60 74 72 71 91 76 81 74 76 68
Query43 222 873 249 267 386 287 333 283 368 265
Query44 2396 2689 551 573 817 630 733 1508 765 576
Query45 346 297 431 412 649 351 393 331 435 354
Query46 340 943 369 419 596 442 494 438 544 374
Query47 1376 1521 1655 2108 2505 1639 1805 1640 2118 1377
Query48 232 215 238 266 380 288 336 277 346 287
Query49 437 347 624 478 794 411 472 441 502 386
Query50 2203 1735 1134 1373 2240 1237 1453 2157 1591 987
Query51 2724 2780 2792 2847 3453 3159 3145 3314 3705 3027
Query52 64 72 67 71 104 78 87 74 84 70
Query53 191 282 206 231 338 270 333 270 341 230
Query54 166 151 199 191 280 202 203 194 203 175
Query55 60 69 65 67 94 71 80 73 78 64
Query56 134 139 149 148 190 151 161 154 164 148
Query57 1159 1119 1408 1496 1778 1251 1361 1357 1600 1126
Query58 184 184 189 193 234 212 176 228 216 195
Query59 1458 2528 1697 1641 2738 2202 2276 2300 2570 1910
Query60 164 182 209 192 254 227 208 203 228 198
Query61 248 249 282 288 398 303 281 287 350 212
Query62 234 194 256 280 412 312 359 308 386 273
Query63 187 287 208 228 326 257 302 253 326 199
Query64 3121 3954 1937 1816 2614 1651 1813 3003 2103 1829
Query65 2517 2705 2673 2722 3839 3223 3474 3224 4169 3130
Query66 225 202 236 248 337 276 306 284 335 253
Query67 16026 15929 19603 20352 27186 19365 20956 20865 24646 21726
Query68 167 810 186 203 282 191 216 185 219 165
Query69 194 166 216 212 310 229 228 228 234 208
Query70 1246 1621 1297 1451 2239 1622 1852 1569 2120 1360
Query71 181 163 191 197 299 207 208 202 236 163
Query72 1957 1079 1299 2284 1800 1337 2401 2279 1599 1328
Query73 118 176 129 140 179 140 170 139 158 118
Query74 4007 4043 4215 4229 5126 4504 4463 4435 5775 4294
Query75 3039 3048 3351 3437 4896 3666 3439 3572 4336 3661
Query76 1249 901 554 606 898 633 718 1080 818 589
Query77 152 632 498 377 532 488 502 684 548 404
Query78 7010 10861 9147 10281 12333 11187 10056 13425 13275 9760
Query79 782 1676 800 869 1169 939 945 904 1126 872
Query80 423 419 867 489 662 830 523 484 528 418
Query81 342 302 371 411 539 428 433 416 483 460
Query82 248 194 252 293 483 269 326 261 370 213
Query83 110 101 113 116 145 121 116 115 123 110
Query84 132 117 141 152 221 136 164 136 158 130
Query85 451 454 531 569 665 501 561 525 512 447
Query86 330 360 384 415 566 420 482 425 517 344
Query87 2105 2006 2228 2405 3273 2496 2760 2525 3344 2287
Query88 2814 2267 2916 3436 4932 4238 5195 4212 5503 3284
Query89 230 318 236 267 394 291 340 284 369 232
Query90 317 265 327 371 487 342 424 343 419 305
Query91 89 85 102 107 126 99 115 104 112 95
Query92 73 69 89 85 121 94 86 92 86 73
Query93 2381 2429 983 1140 1928 1083 1247 2130 1288 831
Query94 354 279 372 371 530 368 460 378 491 319
Query95 859 762 881 899 1454 869 953 874 1203 801
Query96 599 495 614 710 964 703 883 714 907 608
Query97 1939 2082 2373 2293 3843 2868 3057 2732 3443 2826
Query98 164 181 185 196 266 195 178 188 219 184
Query99 448 366 489 577 881 625 712 621 839 520

10.4 附录 B:复现方式(概要)

  1. 每机型部署 1× FE + 3× CN 的 StarRocks 3.5.19 存算分离集群,S3 作为 Storage Volume。
  2. 从 S3 数据集加载 TPC-H / TPC-DS(SF1000)。
  3. 使用官方 benchmark 工具执行 –p -d tpch|tpcds -s <scale>,每项 3 轮取最优。
  4. 采集各机型总时长与逐查询耗时,按 3×CN 按需单价计算性价比指数。

10.5 附录 C:参考资源

*前述特定亚马逊云科技生成式人工智能相关的服务目前在亚马逊云科技海外区域可用。亚马逊云科技中国区域相关云服务由西云数据和光环新网运营,具体信息以中国区域官网为准。

本篇作者

裴秋利

亚马逊云科技解决方案架构师,多年互联网行业沉淀,精通 OPS/SRE/大数据平台设计与团队管理。现专注零售电商领域架构设计,提供高效云原生解决方案,助力客户业务数字化转型与创新增长。

刘欣然

亚马逊云科技解决方案架构师,目前负责互联网媒体行业云端应用的架构设计与技术咨询。在加入亚马逊云科技之前从事多年互联网开发工作,目前专注于 Devops 与边缘计算领域。


AWS 架构师中心:云端创新的引领者

探索 AWS 架构师中心,获取经实战验证的最佳实践与架构指南,助您高效构建安全、可靠的云上应用