tidb数据测试加了tiflash性能差了

【 TiDB 使用环境】生产环境 or 测试环境 or POC
【 TiDB 版本】
【遇到的问题】
【复现路径】做过哪些操作出现的问题
【问题现象及影响】

【附件】 相关日志及监控(https://metricstool.pingcap.com/)


若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

global:
user: “root”
ssh_port: 22
deploy_dir: “/home/pirate/programs/tidb-deploy”
data_dir: “/home/pirate/programs/tidb-data”
arch: “amd64”
resource_control:
memory_limit: “8G”
monitored:
node_exporter_port: 9100
blackbox_exporter_port: 9115
deploy_dir: “/home/pirate/programs/tidb-deploy/monitored-9100”
data_dir: “/home/pirate/programs/tidb-data/monitored-9100”
log_dir: “/home/pirate/programs/tidb-deploy/monitored-9100/log”

server_configs:
tidb:
log.slow-threshold: 300
tikv:

readpool.storage.use-unified-pool: false
readpool.coprocessor.use-unified-pool: true

pd:
schedule.leader-schedule-limit: 4
schedule.region-schedule-limit: 2048
schedule.replica-schedule-limit: 64
replication.enable-placement-rules: true
tiflash:

profiles.default.max_memory_usage: 0

profiles.default.max_memory_usage_for_all_queries: 0

配置文件

sysbench --config-file=config oltp_point_select --tables=10 --table-size=10000000 prepare 生成10张表
然后使用 ALTER TABLE sbtest8 SET TIFLASH REPLICA 1; 分别把十个表同步到了tiflash 然后测试的时候QPS只有几百 是我哪里配置的问吗

系统配置,集群拓扑,是否等待tiflash同步完成了才测试的?

是同步完了开始测试的

现在测试结果是oltp_point_select QPS是2万 oltp_read_write只有1000
TiFlashMain 的CPU使用率很高

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
18634 root 20 0 27.6g 2.9g 15340 S 905.3 9.3 272:44.47 TiFlashMain

是全部同步完成测试的嘛?还未同步完成,那同步实现一致性会耗时一些

同步完成开始测试的

1 个赞

memory_limit: “8G”这个是不是太小了,AP型靠的就是内存宽表,加载内存交换运算

确认数据库是否同步完成,tiflash日志传输需要消耗一定性能。

改成24G 也一样 我看压力好像主要是在TiFlashMain CPU达到1000%

我看数据好像测试的时候大部分的压力都去了 tiflash上面 导致更慢了

请把集群拓扑结构提供给我们看看, tiup cluster display 集群名称。
跟 tiflash 对比的是哪种执行情况?请提供详细信息,比如哪一条sql,在两种情况下运行时间差异。

看看sql怎么写的