【数据库】Kylin V10/ARM平台TiDB v5.3.0 sysbench&TPCC测试

一、环境&配置

鲲鹏服务器 128c 512G *6

每台主机普通SSD *5

Kylin V10(arm)

主机 TiDB PD TiKV
ecs001 4 node 1node 4 node
ecs002 4 node 1node 4 node
ecs003 4 node 1node 4 node
ecs004 4 node 4 node
ecs005 4 node 4 node
ecs006 4 node 4 node

每个TiKV对应独立mount的文件系统(普通SSD)

总体配置:24TiDB 3PD 24TiKV

二、 优化

2.1、系统层面

1.1、TiDB/PD/TiKV绑核

        128c,4个node,通过参数numa_node各绑一个node

image

 注:

1、理论上PD需要单独服务器部署(后期有机器再测:)

2、网络中断全绑一个node上(不用和tikv/tidb分开)

1.2、HAproxy绑核

        HAproxy部署在单独的主机上,通过map参数绑核

global                                     # 全局配置。
   log         127.0.0.1 local2            # 定义全局的 syslog 服务器,最多可以定义两个。
   chroot      /var/lib/haproxy            # 更改当前目录并为启动进程设置超级用户权限,从而提高安全性。
   pidfile     /var/run/haproxy.pid        # 将 HAProxy 进程的 PID 写入 pidfile。
   maxconn     4000                        # 每个 HAProxy 进程所接受的最大并发连接数。
   user        haproxy                     # 同 UID 参数。
   group       haproxy                     # 同 GID 参数,建议使用专用用户组。
   nbproc      64                          # 在后台运行时创建的进程数。在启动多个进程转发请求时,确保该值足够大,保证 HAProxy 不会成为瓶颈。
   daemon                                  # 让 HAProxy 以守护进程的方式工作于后台,等同于命令行参数“-D”的功能。当然,也可以在命令行中用“-db”参数将其禁用。
   stats socket /var/lib/haproxy/stats     # 统计信息保存位置。
   cpu-map      1       0
   cpu-map      2       1
   cpu-map      3       2
   cpu-map      4       3
   cpu-map      5       4
   cpu-map      6       5
   cpu-map      7       6
   cpu-map      8       7
   cpu-map      9       8
   cpu-map      10      9
   cpu-map      11      10
   cpu-map      12      11
   cpu-map      13      12
   cpu-map      14      13
   cpu-map      15      14
   cpu-map      16      15
.....

1.3、sysbench 和 tiup 绑核运行

# vi oltp_point_select.sh
nohup numactl -c 0-31 sysbench ... &
nohup numactl -c 32-63 sysbench ... &
nohup numactl -c 64-95 sysbench ... &
nohup numactl -c 96-127 sysbench ... &
<最后可加入文本处理语句,直接查看tps/qps>
<例:4000并发就每个sysbench启1000线程>

tiup bench tpcc因为只测1000线程,所以只需要绑一个node;绑多个node会造成测试结果下降

2.2、数据库层面

Tidb:
	log.level: "error"
	prepared-plan-cache.enabled: true
	tikv-client.max-batch-wait-time: 2000000
	performance.txn-total-size-limit: 10737418240  
	txn-local-latches.enabled: true
	tikv-client.grpc-connection-count: 10  
tikv:
	pessimistic-txn.pipelined: true
	raftdb.allow-concurrent-memtable-write: true
	raftdb.max-background-jobs: 16
	raftstore.sync-log: false
	raftstore.apply-max-batch-size: 2048
	raftstore.apply-pool-size: 5
	raftstore.store-max-batch-size: 2048
	raftstore.store-pool-size: 5
	readpool.storage.high-concurrency: 30
	readpool.storage.normal-concurrency: 30
	readpool.storage.low-concurrency: 30
	readpool.unified.max-thread-count: 20
	readpool.unified.min-thread-count: 5
	rocksdb.max-background-jobs: 15
	server.grpc-concurrency: 10
	storage.scheduler-worker-pool-size: 20
	server.enable-request-batch: false


Tidb全局:
	set global tidb_hashagg_final_concurrency=1;
	set global tidb_hashagg_partial_concurrency=1;
	set global tidb_enable_async_commit = 1;
	set global tidb_enable_1pc = 1;
	set global tidb_guarantee_linearizability = 0;
	set global tidb_enable_clustered_index = 1;

    set global tidb_enable_tso_follower_proxy=true;
    //5.3加入的新特性,高并发场景下点查延迟大幅度降低

三、部分测试结果

3.1、sysbench

32张表,单表1亿,rand-type=uniform,测试先查后写

sysbench 1.0.20,github源码编译

场景 并发数(threads) Tidb v5.3.0
point_select 100 tps 229820.37
95th 延迟 0.49
300 tps 789232
95th 延迟 1.1
1000 tps 1101896.89
95th 延迟 2.53
4000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值