2种tidb混合部署方式,那种性能好

大几百G的数据量,采用tidb集群,因资金投入问题,通常采用3台物理机部署,即每台物理机上都不是pd、tidb、tikv,其有2种部署方式,那种性能好?
第一种部署方式:
采用tidb自带的资源控制,如
tidb_server:

  • host:10.201.14.1
    resource_control:
    memory_limit: 128GB
    cpu_quota: 1600%
    第二种部署方式,在物理机上创建虚拟机,即针对以上案例,创建一个16核、128G、500G存储空间的虚拟机,在虚拟机上独立部署tidb
    请各位大佬,2种部署方式,那种性能好?

你说错了 我给你的是第三种 物理机部署tikv
再去找老板要点虚拟机 3台pd 1台tidb

1 个赞

那是6台物理机的条件下,目前只有3台物理机,最少资源集群,性能最好部署方式讨论

先说下机器配置,不就部署一套集群吗

第一种好,性能高,后续还方便迁移扩容,混合部署资源隔离方面官方有一些文档可以参考下下
https://docs.pingcap.com/zh/tidb/stable/three-nodes-hybrid-deployment#三节点混合部署的最佳实践

每台集群配置都一样,详细配置如下
2个Intel Xeon Gold 6330 2G, 28C/56T, 11.2GT/s, 42M Cache, Turbo, HT (205W) DDR4-2933 CPU,1024G内存,RAID卡(8G缓存),10个1.92TB SSD SAS 2.5寸硬盘,2个万兆端口(含万兆模块),2个冗余电源

https://docs.pingcap.com/zh/tidb/stable/three-nodes-hybrid-deployment#三节点混合部署的最佳实践
参考下最佳实践

第一种性能高,我这边之前也有过类似情况,资源有限,直接物理机部署即使是混布也比虚拟机性能高

1 个赞

物理集群肯定比虚机强啊,不管是CPU还是内存都要强不少啊,毕竟虚机内还需要搭环境!

用物理机性能好,咨询过官方

1、如果在物理机上虚拟出虚拟机,也是一种方法,但是性能直接损耗大概在20%左右
2、建议直接在三台物理机上混合部署,采用numa方式控制使用的内存及CPU,当然你的CPU至少两颗

我也咨询过官方工程师,官方工程师建议第一种方式

三台机器,56C/112T,配置1T内存,10块1.92TSSD,预感你的 cpu 资源严重不足了。。讲道理内存和磁盘都可以拆掉一些了

你这机器内存 硬盘配置挺高,性能肯定是物理机比虚拟机要好。numactl -H 看下numa node数量,相比内存、硬盘配置 CPU偏低。你可以配置6个tikv,相同机器上tikv要打相同lable 。每个tikv用2块盘做raid10,剩下的盘安排做其他的。再根据你的并发在看设置tidb server的数量

这个我这边测试过,直接物理机的性能要比从物理机上虚拟出来的要高,当然混合部署的时候,记得把磁盘分散一下,减少I/O分散。要用numa隔离CPU及内存

1 个赞

第一种好,直接物理机性能比虚拟机好

还有,第一种方式
resource_control:
memory_limit: 128GB
cpu_quota: 1600%
这些配置,官方文档没找到,哪里可以看详细介绍

我测试了,物理机的IO性能,与虚拟机IO性能一样,没什么性能损耗

performance.max-procs tidb使用cpu的数量
tidb_server_memory_limit
看看这里https://docs.pingcap.com/zh/tidb/stable/system-variables

正常虚拟出来的,由于连接方式的问题,IO性能是有损耗的。就是采用直通的方式也有一定的损耗。