你好,请教一下
环境配置:
pd 3台 16c64g
tidb 3台 16c64g
tikv 3台 16c64g
监控 1台16c64g
我用代码压测一张表的写入性能
表结构如下:
CREATE TABLE XXX (
id
bigint NOT NULL AUTO_INCREMENT,
caller_service_id
int(11) NOT NULL COMMENT ‘调用方服务id’,
caller_endpoint_id
int(11) NOT NULL COMMENT ‘调用发起接口id’,
callee_service_id
int(11) NOT NULL COMMENT ‘被调用方服务id’,
callee_endpoint_id
int(11) NOT NULL COMMENT ‘被调用方接口id’,
qps
float NOT NULL COMMENT ‘调用qps’,
rt
float NOT NULL COMMENT ‘调用平均rt’,
error_count
int(11) NOT NULL COMMENT ‘错误数’,
metric_time
timestamp NOT NULL COMMENT ‘数据时间’,
gmt_create
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘创建时间’,
gmt_modified
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ‘最后修改时间’,
type
tinyint(4) NOT NULL DEFAULT ‘0’ COMMENT ‘0:http\
1:dubbo’,
PRIMARY KEY (id
),
KEY metric_time_idx
(metric_time
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT=‘rpc调用qps,平均rt,错误数’;
假设insert values的一次插入量为batch_size,
不管我开启64,128,256个线程压测,每秒插入的数据量batch_size * tps 始终在10W左右。
并且扩展tikv或者tidb也没效果,目前不太清楚问题出在哪里。
另外我的表主键做了打散,没有热点region的情况。
- 请问您压测指标使用什么来决定呢? tps, qps ? 希望达到多少?
- 麻烦上传下 over-view , tidb, detail-tikv 的监控,多谢。
(1)、chrome 安装这个插件https://chrome.google.com/webstore/detail/full-page-screen-capture/fdpohaocaechififmbbbbbknoalclacl
(2)、鼠标焦点置于 Dashboard 上,按 ?可显示所有快捷键,先按 d 再按 E 可将所有 Rows 的 Panels 打开,需等待一段时间待页面加载完成。
(3)、使用这个 full-page-screen-capture 插件进行截屏保存
1.我希望插入的性能能够满足tps*batch_size>=20w每秒的插入性能
2.图片无法上传。
3.能否提供一下解决思路,调参太多,没生效。
4.能否加微信,我传图片
如果加载很慢,麻烦下载看下。
- 查看监控,tidb 侧的duration 为 4s ,detail-tikv侧为 1s,主要在 tidb-server
- 查看tidb-server 主要消耗在 execution duraiton
- 我们再分析下
执行慢是因为 distsql duration 比较大,kv backoff 出现了一些 regionMiss 和清锁请求(插入时有其他业务吗?)的错误,因此会有导致 PD 端的请求变化,甚至影响到了 get tso 的延迟
请求压测程序是均匀打在 3 台 TiDB 上的吗?既然主键被打散了,这里就不多说了。是单纯的插入嘛?看到有些 reslove lock 的请求,是不是混有其他业务?
目前就是我自己测试的,是均匀打散到3台tidb机器,没有别的业务,就我自己在用。128并发,每个并发循环1000次,每次一条insert values128个。
您好,其他同事已经和您联系暂时不在帖子跟了, 多谢。
谢谢你,辛苦了