K8s集群中mysql5.7.26与Tidb5.2.1的sysbench测试性能差异

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:

【概述】 场景 + 问题概述
使用sysbench测试mysql与tidb的性能,发现差异有点高,是不是我的打开方式不太对?还是这个差异是正常的?

【背景】 做过哪些操作
mysql与tidb均部署在K8S集群中,集群是三节点的物理机,磁盘都是SSD,网卡是万兆网卡。
tidb分配的内存是32G,cpu是8核
tikv分配的内存是8G,cpu是8核
tipd分配的内存是4G,cpu是1核
mysql分配的是32G,cpu是8核
测试数据是100张1000w的表,sysbench测试时,线程数是128。
除了调整了tidb的server-memory-quota 参数,剩下的参数以及tikv,tipd的配置都是默认的。

【问题】 当前遇到的问题
TiDB的QPS与TPS是358/7171
Mysql的QPS与TPS是1549/30989
目前mysql的QPS与TPS大概是TiDB的4~5倍,这个差异算正常吗?

【TiDB 版本】
TiDB 5.2.1
mysql 5.7.26

参考官方配置建议,调整一下配置试试~

请问之前测试的数据要删掉重新生成吗?

感觉这个影响不大,可以做对比测试。

建议压测过程中,深入的分析一下瓶颈在哪,适当调整参数。最终一定会是cpu、磁盘io、网络其中一个被打满,这时候的结果相对更接近性能极限。因为缺少很多细节,目前的配置来看,你的pd的cpu感觉有点低,调高试试。
其实对比mysql和TiDB的性能我觉的没有任何的意义,对TiDB做压测的目的是看看能不能满足性能需求。mysql没有分布式事务、不能水平扩展、不能做在线ddl,不能根据访问热点及时做出在线处理,这些都让这两个产品没有可比性。

我将配置都与官方调整成一致了,但是QPS与TPS比之前稍微低了,只有305/6103,我应该如何深入分析瓶颈

参考这里的官方文档看看
https://docs.pingcap.com/zh/tidb-in-kubernetes/stable/benchmark-sysbench#tidb-in-kubernetes-sysbench-性能测试

另外建议tikv不要混合部署,pd和tidb可以混合部署。因为tikv混合部署时会因为抢占资源导致性能下降

你这算是三种节点混部,官方没有这种方式。另外,跟官方一致不是重点,怎么耗尽你当前的环境资源,得到最大结果是目的。

1 个赞

楼上说的对~

感谢楼上支持,:grinning::grinning::grinning::100:

谢谢各位的解答

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。