除了压测,还有深入骨髓的分析,只为帮你找到好的云数据库!

(三)生态对比

除了云计算的功能和价格,其周边的生态也很重要,一个完善、活跃的生态,可以帮助我们更好的去用好一款产品、在使用时遇见问题,也可以快速的去获得帮助。

阿里云1

阿里云官方针对数据库,提供数据传输 (DTS) 和专业的数据库管理工具 (DMS) ,同时在官方的服务之外,还开拓了阿里云云市场,云市场内有数百种不同的数据服务和近百家数据服务服务商,能够让你在需要帮助时,第一时间获取到帮助。

阿里云2

腾讯云也维用户提供了数据传输服务 (DTS) ,同时,为用户在云市场中开辟了数据迁移分区,引入了近百种不同的数据服务合十数家服务商,来帮助用户在遇见问题时,能够获取到来自服务市场的帮助。

阿里云3

百度云的生态是三家中做的最差的,只有两家服务商,提供了不到十种服务。其云市场实在是贫瘠不堪。用户在出现问题后,基本上只能依赖自己的维护人员,无法快速的获取到服务市场的帮助。

如果你的企业拥有足够的维护人员,那么三家相差不大,如果没有专业的DBA团队,那么腾讯云的数十种服务可以满足你的绝大多数需求,而阿里云的数百种服务可以给你完善的数据库维护帮助,一站式的数据维护体验。

(四)压力测试

数据库好不好,不能只看功能和价格。是骡子是马,拉出来溜溜,才知道产品究竟如何。

测试工具

本次测试,我们选择的是经典的压力测试工具:sysbench

sysbench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。也是业界通用的压力测试工具。

测试数据库配置

阿里云:4H8G 云数据库 腾讯云:8GB 云数据库 阿里云:8GB 云数据库

测试命令

模拟数据生成参数

./sysbench  --test=tests/db/oltp.lua --oltp_tables_count=10 --oltp-table-size=100000 --rand-init=on prepare

上述命令表示我们会生成10个测试表,填充100000的随机数据。

性能测试参数 ./sysbench  --test=tests/db/oltp.lua --oltp_tables_count=10 --oltp-table-size=10000000 --num-threads=8 --oltp-read-only=off --report-interval=10 --rand-type=uniform --max-time=3600  --max-requests=0 --percentile=99 run 上述命令表明我们开8个并发连接,同时进行读写测试,每10秒输出一次结果

测试结果

阿里云

阿里云4

表2

在压力测试中,阿里云 RDS 的零死锁十分抢眼,一个小时的测试中,数据库没有出现死锁的情况,业务始终流畅进行,对于大部分用户来说,都是一个非常好的消息。

腾讯云

阿里云5

表3

腾讯云 CDB 的整体性能要略差于阿里云 RDS ,但相比之下,也要优于百度云 RDS。

百度云

阿里云6

表4

百度云在三家中依然是最差的,性能有差距,在真正处理业务逻辑时,或许会出现问题。

在压力测试中,较为亮眼的参数是阿里云 RDS 的零死锁。零死锁可以让你的业务进行的更加流畅,更好的对外提供服务。 在计算耗时上,效果最好的是阿里云 RDS ,其次是腾讯云 CDB ,最次是百度 RDS

总结

看了上面的内容,可能你依然不会选择。这里,我来给你一些快速的选择方案: