云数据库技术

“重磅升级”后再测TDSQL-C


1.摘要 前段时间,测试了国内主要云原生数据库PolarDB、TDSQL-C、GaussDB的性能,参考: 《再测云原生数据库性能 》 。在上次测试结果中,由于地域版本差异,腾讯云的TDSQL-C并没有表现出“ 重磅升级 ”的效果,现在两个月过去了,我们再来重测TDSQL-C。先说结论:
  • 相比之前,本次TDSQL-C性能有了非常显著的提升,在这里的场景与规格(4c16g)下,读写性能相比之前提升了80%
  • 经过与腾讯云数据库团队沟通,选择了在已经完成“ 重磅升级 ”的“北京六区”进行测试;另外,据悉,预计12月底,所有地域将完成升级
2.详细测试结果
  • TDSQL-C在「读写混合」场景下,8月比6月的性能有显著提升 :

  • 各厂商在「读写混合」场景下的压测结果,TDSQL-C升级之后,性能显著提升:

注意: 阿里云和华为云为6月份的测试数据 本次测试的主要目的是对比TDSQL-C升级前后的性能差异。 可以看到,腾讯云的TDSQL-C在升级之后性能显著提升,某些场景下甚至提升了近一倍的性能。 3.测试说明 这里对我们的测试方式做一个详细说明。本次测试还是选择4c16g的规格进行对比,使用了工具 sysbench 1.0.2 0版本进行测试。 具体的,在 「读写」、「只读」、「只写」3个场景下进行2~512个线程的压测, 获取 每秒执行事务数TPS(Transactions Per Second)、每秒执行请求数QPS(Queries Per Second)来作为性能对比指标。 数据库规格:

客户端规格:

压测命令:
-- 准备数据sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=10000000 --tables=10 --events=0 --time=300 --threads={2~512}  oltp_read_write prepare-- 运行workload# OLTP读写混合sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=10000000 --tables=10 --events=0 --time=300 --threads={2~512} --percentile=95 --report-interval=1 oltp_read_write run# OLTP只读场景sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=10000000 --tables=10 --events=0 --time=300 --threads={2~512} --percentile=95 --report-interval=1 oltp_read_only run# OLTP只写场景sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=10000000 --tables=10 --events=0 --time=300 --threads={2~512} --percentile=95 --report-interval=1 oltp_write_only run-- 清理数据sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=10000000 --tables=10 --events=0 --time=300 --threads={2~512} --percentile=95  oltp_read_write/oltp_read_only/oltp_write_only cleanup
说明:10张表,每张表1000万数据,数据集约25G, 2~512个线程进行压测。
补充说明:
  • TDSQL-C支持了自动读写分离(Proxy),但 其Proxy暂不支持事务拆分,虽然通过Proxy地址,但也只在读写节点上执行。如果想充分发挥读写分离的优势,可以通 过工单方式让腾讯云的工作人员修改Proxy策略,或 开启sysbench的参数--skip-trx(非事务模式)才能使用只读节点, 本文测试没有开启该参数 。
  • 读写内网地址(高可用地址, 用 RW表示)和 数据库代理地址(自动读写分离地址, 用Proxy表示 )。
4.测试详情
  • TDSQL-C 升级之后是否有提升?
读写场景:

读写场景结论: TDSQL-C 8月份的性能比6月份平均高出了近 80% 。 只读场景:

只读场景结论: TDSQL-C 8月份的性能比6月份平均高出了近 70% 。 只写场景:

只写场景结论: TDSQL-C 8月份的性能比6月份平均高出了近 120%。 小结: 通过以上三个场景的压测对比,可以看到 TDSQL-C 8月份比6月份性能有显著提升,特别是只写场景下,提升了1.2倍。虽然TDSQL-C支持了自动读写分离,但 因Proxy暂时 不支持事务拆分,虽然通过Proxy地址,但也只在读写节点上执行,所以性能比用读写地址的低一些。
  • TDSQL-C 升级之后是否有超越?

注意: 阿里云和华为云为6月份的测试数据。 可以看到, 腾讯云的TDSQL-C在升级之后性能显著提升,大大 提高了其竞争力 ,也让用户在云原生数据库上有了更多的选择。 5.总结 通过上面的压测数据,看到了TDSQL-C在 “ 重磅升级 ” 之后带来的性能提升,并且功能上也支持了自动读写分离( 后续会默认支持 事务拆 分 ),极大提高了其在云原生数据库上的竞争力。最后,期待TDSQL-C的升级版本在更多的地域中上线。