阿里云数据库在去年云栖大会上发布了基于阿里倚天芯片(ARM架构)的RDS实例,后正式命名为经济版。本文通过标准的sysbench测试,来看看相比与标准版,经济版是否更加“经济”,以帮助开发者选择适合自己的规格。
这里选择了用户较为常用的4c16g的规格进行测试,测试工具使用了sysbench
的oltp_read_write
模型进行测试。配置参数与选项,均尽量使用RDS购买过程中的默认选项,以给出更加接近用户使用时的配置。具体的,使用了默认的“高性能参数模板”、使用了ESSD PL1存储,选择了默认的8.0实例。
在如上的默认配置中,分别使用了2、4、8、10、12、14、16、24、32个并发线程进行测试。整体上,经济版(ARM)实例性能相比x86版要低约4%,延迟要高约4%。价格上,该规格经济版(ARM)相比x86版要低约36%,使用阿里云RDS经济版(ARM)性价比确实更高,相比标准版(x86)性价比要高出32%。
具体的,这里我们选取16并发为性能基准参考,那么,对应的经济版TPS为2185,标准版的TPS为2324。价格上,该规格经济版价格为1.61元/时,标准版价格为2.52元/时,那么对应每1000个TPS的价格分别为:0.74元与1.08元。从性价比的角度来看,经济版提升了31.5%。
所以,经济版(ARM)RDS还是非常值得一试。另一方面也可以看到x86版本在性能、延迟上依旧有一定的优势,如果追求更极限的性能,以及更好的稳定性,依旧建议使用x86版本。
这里使用了sysbench的读写混合模型(oltp_read_write)进行测试,单表大小为100万,共十个表,单次测试时长为300秒,分别测试了如下的并发度的性能表现:2、4、8、10、12、14、16、24、32
。
测试使用的RDS为4c16g的高可用系列、“通用”规格、磁盘使用ESSD PL1/100GB云盘、双可用区、MySQL 8.0的实例。测试的ECS使用8c8g规格,测试的ECS也在杭州可用区J,所以,注意测试过程中,RDS表现的Latency整体是非常低的。
RDS经济版(ARM)4c16g通用型实例的测试详细结果如下:
threads|transactions| queries| time |avg/Latency|95%/Latency
2| 115305| 2306100|300.01| 5.20| 5.99
4| 225711| 4514220|300.01| 5.32| 6.09
8| 425336| 8506720|300.01| 5.64| 6.91
10| 518460|10369200|300.01| 5.78| 7.17
12| 604286|12085720|300.01| 5.96| 7.70
14| 634556|12691120|300.01| 6.62| 13.22
16| 655665|13113300|300.01| 7.32| 21.89
24| 628932|12578640|300.01| 11.45| 45.79
32| 628452|12569040|300.03| 15.27| 57.87
RDS标准版(x86)4c16g实例的测试详细结果如下:
threads|transactions| queries| time |avg/Latency|95%/Latency
2| 113699| 2273980|300.01| 5.28| 5.57
4| 228466| 4569320|300.01| 5.25| 5.57
8| 439913| 8798260|300.01| 5.45| 5.77
10| 540436|10808720|300.01| 5.55| 5.88
12| 629480|12589600|300.01| 5.72| 6.09
14| 710254|14205080|300.01| 5.91| 7.30
16| 697323|13946460|300.01| 6.88| 18.61
24| 661203|13224060|300.01| 10.89| 47.47
32| 656784|13135680|300.01| 14.61| 58.92
真实的场景会更加复杂一些,需要考虑的因素更多,例如数据库的场景模型、不同的参数模板、不同的磁盘性能(ESSD PL1/2/3)、不同世代的CPU、不同规格(“通用”、“独享”)、价格折扣等。本文尝试通过测试一个常用规格的、常用配置,给开发者一个直观的性能的感受,以帮助开发者选择合适的、更具性价比的数据库规格与类型。
阿里云RDS的经济型(ARM版)正式商业化已经有一年时间,从实测来看,相比x86版本有着非常明显的性价比优势,相同规格性能损失约5%的情况下,价格有35%的下降,是非常适合开发测试环境,已经小范围在生产环境尝试使用的。
最后,这将是一个系列的文章,后续还将考虑对比华为云、AWS的ARM实例与x86实例的性能,以帮助开发者选择更具性价比,更适合自己的数据库架构与规格。