在kubernetes上部署了一套tidb,sysbench测试结果与单台mariadb对比性能有差距

在阿里云服务器上,申请了一个ACK托管版集群。共8个节点,配置均为8C16G。按文档使用tidb operators部署了2tidb+3pd+3tikv架构的tidb集群,使用阿里云的storage class,为pd和tikv挂载了ssd云盘。并在两个tidb节点上配置了负载均衡。在另外一台同样配置的云服务器上,使用sysbench插入10张表,每张50W条记录。按照tidb测试文档,测试结果吞吐量只有1.9W,这和同配置下单节点的mariadb有着较大的差距,这是我部署有问题,还是说我部署的这个环境和数据规模就不太适合使用tidb?

  1. 请问方便发下测试对比的结果吗? 具体是测试的什么?
  2. 压测过程中机器资源有瓶颈了吗?

image
这是对比的结果,目前压测过程中,查看了各节点的cpu、内存等资源,没有发现出现资源瓶颈的地方。现在正在排查网络。

这里有测试 sysbench 的结果,如果资源没有瓶颈,可以尝试调大 thread 到 32 逐渐翻倍试试。
https://docs.pingcap.com/zh/tidb/stable/benchmark-sysbench-v4-vs-v3

我们测试了一下,thread从16升到512,tps和qps的测试结果也在增大,最后到512的时候,tps能接近10W。这是不是说tidb在并发较高的场景下使用才能体现出他的价值?

一方面是这样,另一方面是数据量大的情况下,比较明显

了解,多谢!还有个问题,有些应用前期,并发量和数据量都不是特别大,又想要直接使用tidb。这样会不会影响前期的用户体验?

并发量不大在 TiDB 里面优势明显,每张表 50w 数据量是比较小的,在实际使用中避免出现热点就可以。热点的判断和处理不同版本有不同处理办法,可以在 asktug 论坛和官网搜索下 热点 关键字。

你好,请问下在k8s中这个线程16是在哪里设定的,怎么修改这个线程数