内容提要
AWS于2022年5月推出了Graviton3,该产品使用ARM Neoverse内核定制设计的ARM架构构建,性能提高25%。AWS在中国区域推出了C7g、M7g和R7g实例。本文比较了5种相同配置的EC2实例在执行TPC-DS Benchmark时的性能和成本。
延伸解读
Graviton3 在 Spark 工作负载上的性能提升
根据文章中的 TPC-DS Benchmark 结果,r7g.2xlarge 相比 r5.2xlarge 完成时间节省 22%,相比 r6i.2xlarge 也节省 1%。这表明基于 Graviton3 的实例在 Spark 批处理作业中具有明显的性能优势。而上一代 Graviton2 的 r6g.2xlarge 相比 r5.2xlarge 完成时间反而上升 5%,说明架构升级带来了实质性的改进。
成本效益分析:Graviton3 实例的节省
文章以 us-east-2 区域的 1 年期无预付 RI 价格计算,r7g.2xlarge 相比 r5.2xlarge 成本节省 30%,相比 r6i.2xlarge 节省 17%。即使 r6g.2xlarge 相比 r5.2xlarge 也有 16% 的成本节省,尽管其完成时间更长。这表明在考虑成本时,Graviton3 实例提供了最佳的性价比,尤其适合长时间运行的 Spark 作业。
TPC-DS Benchmark 的适用性与测试配置
文章使用 TPC-DS 作为基准测试,它模拟决策支持系统工作负载,包含 99 个复杂查询,支持从 1GB 到 100TB 的数据规模。本次测试采用 SF=100(即 100GB 数据),在单节点 r7g.4xlarge 上以 Spark Local 模式运行。这种配置适合评估单节点性能,但实际生产环境多为集群,读者需注意测试结果的局限性。
部署与监控实践要点
文章详细介绍了在 Amazon Linux 2 上安装 OpenJDK 1.8、Hadoop 3.3.1、Hive 3.1.3 和 Spark 3.3.1 的步骤,并强调使用 screen 或 tmux 避免会话中断。Benchmark 执行时可通过 top/htop 监控资源利用率,结束后在 EC2 控制台查看 CPU 指标。这些实践有助于读者复现测试并优化自己的 Spark 工作负载。
Q&A
AWS Graviton3的性能提升有多少?
AWS Graviton3的计算性能相比Graviton2提高了25%。
TPC-DS Benchmark是什么?
TPC-DS是一个决策支持基准测试,模拟现实世界中的决策支持系统工作负载,用于评估数据仓库系统的性能。
在执行TPC-DS Benchmark时,r7g.2xlarge实例的成本节省是多少?
r7g.2xlarge相比r5.2xlarge的成本节省达到30%。
如何搭建Spark Local模式集群?
可以通过创建EC2实例并安装Hadoop、Hive和Spark软件来搭建Spark Local模式集群。
r6g.2xlarge与r5.2xlarge在完成时间上有什么区别?
r6g.2xlarge相比r5.2xlarge,完成时间上升5%。
TPC-DS支持的数据规模范围是什么?
TPC-DS支持的数据规模从1GB到100TB不等。