关于删除数据时query时延增加,删除数据较慢的问题

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:5.7.25-TiDB-v4.0.0
  • 【问题描述】:每日定期删除之前的数据,发现
    1)直接删除一天的数据会触发8004,大事务错误;后改为批量删除指定时间段的数据,一次删5000行
    2)批量删时观察dashboard,发现时延/qps性能都有大幅下降,如图

3)观察error日志发现tikv有大量的send raft msg err

4)部分delete语句慢查询截图如下

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

请上传这个时间段 over-view,tidb,detail-tikv 监控,多谢。

导出监控为 pdf 的方式: 1)使用 chrome 浏览器,安装“Full Page Screen Capture”插件:https://chrome.google.com/webstore/detail/full-page-screen-capture/fdpohaocaechififmbbbbbknoalclacl

2)展开grafana 监控的 “cluster-name-overview” 的所有 dashboard (先按 d 再按 E 可将所有 Rows 的 Panels 打开,需等待一段时间待页面加载完成)

3)使用插件导出 pdf

链接:https://pan.baidu.com/s/1nGbQ3wVoSMqMOdnILo7CQg 密码:egax

pdf已上传至百度云,辛苦下载下

  1. 从您反馈的监控来看,只有3台 131,134,49 部署了 tidb,pd,tikv . 资源共用,IO使用率接近100%

2.detail-tikv 可以看到131 apply时的时长很久
image
3.compaction消耗的资源也比较多
image

[下步计划]

1.尝试限制compaction 的流控试试,修改以下参数
https://github.com/tikv/tikv/blob/master/etc/config-template.toml#L458

[rocksdb]

rate-bytes-per-sec = “100MB”

[raftdb]

rate-bytes-per-sec = “50MB”

这两个参数能限制 kvdb 和 raftdb 的写盘峰值,平滑写盘压力。一般盘比较差的时候能缓解抖动问题

收到,可否再帮忙给下如何修改参数的文档或cmd;感谢

https://pingcap.com/docs-cn/stable/maintain-tidb-using-tiup/

1 个赞