Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7082
  • 博文数量: 16
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 161
  • 用 户 组: 普通用户
  • 注册时间: 2022-08-23 16:11
文章分类

全部博文(16)

文章存档

2022年(16)

我的朋友
最近访客

分类: 数据库开发技术

2022-09-09 10:09:01

来源:云数据库技术

标题 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.20 版本进行测试。具体的,在「读写」、「只读」、「只写」3 个场景下进行 2~512 个线程的压测, 获取每秒执行事务数 TPS(Transactions Per Second)、每秒执行请求数 QPS(Queries Per Second)来作为性能对比指标。


数据库规格:



客户端规格:



压测命令:



点击(此处)折叠或打开

  1. -- 准备数据
  2. 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

  3. -- 运行workload
  4. # OLTP读写混合
  5. 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

  6. # OLTP只读场景
  7. 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

  8. # OLTP只写场景
  9. 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

  10. -- 清理数据
  11. 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 的升级版本在更多的地域中上线。

阅读(81) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:数据库发展史2--数据仓库

给主人留下些什么吧!~~