硬件对单条语句性能影响的疑问

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:3.0.9
  • 【问题描述】: 背景:公司目前正在进行传统关系数据库分库分表方案过度TIDB,目前在评估将tidb部署在自有机房,还是阿里云上,所以做了一次测试。

问题:阿里云和本地机房硬件基本相同,差异:

1.阿里云pd和db使用essd,本地使用ssd

2.阿里云tikv使用ssd为2T,本地为200g

其他cpu与内存两个环境一致,数据完全一致

实际测试单条简单、复杂查询语句,发现本地性能是阿里云的2-4倍。比如一个大表的count。

想知道:

1.如何定位是哪部分硬件造成的差异?

2.以count查询为例,最耗时的部分在哪个组件?

感谢~

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

  1. 阿里云上的ssd进行过性能压测吗,bootstrap.yml是否可以跑通,一般阿里云上云ssd的性能一般会不足,建议使用阿里云上本地ssd
  2. 可以看下网络 cpu 磁盘哪一部分称为了性能差异的瓶颈
  3. 关于 count 查询,可以使用 explain analyze 查看具体语句的执行计划,会打印每个部分的耗时

1.使用的就是本地ssd,就是k8s部署那篇文档里的机器配置。 2.单条语句测试,网络cpu磁盘都很低的,只是执行时间有差距 3.我试试

嗯,单条语句测试也可以通过 explain analyze 查看一下各部分耗时差异

有没有哪个参数,是对单条语句执行时,占用的硬件资源做限制的?我查硬件的时候,发现阿里云的pd服务器,执行sql的时候,网卡速度只有本地的一半,但是也没打满网卡。

你们在阿里云上部署和在本地部署的机器拓扑、方式应该都是一致的吧 如果是一致的,那理论上参数也是一致的,如果参数有限制也该是一样的。

主要差异还是阿里云配置与本地配置的差异引起的,可以检查一下阿里云服务器之间的网络 latency、磁盘 iops、磁盘吞吐、磁盘 latency 、CPU 之间的差异。