暂无图片
运行tidb的时候,io值太高这个情况一般有哪些解决方法?
我来答
分享
暂无图片 匿名用户
运行tidb的时候,io值太高这个情况一般有哪些解决方法?

运行tidb的时候,io值太高这个情况一般有哪些解决方法?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
shunwahⓂ️

1、确认当前 I/O 指标
当出现系统响应变慢的时候,如果已经排查了 CPU 的瓶颈、数据事务冲突的瓶颈后,就需要从 I/O 来入手来辅助判断目前的系统瓶颈点。

2、从监控定位 I/O 问题
最快速的定位手段是从监控来查看整体的 I/O 情况,可以从集群部署工具 (TiDB-Ansible, TiUP) 默认会部署的监控组件 Grafana 来查看对应的 I/O 监控,跟 I/O 相关的 Dashboard 有 Overview,Node_exporter,Disk-Performance。

3、从 log 定位 I/O 问题
如果客户端报 server is busy 错误,特别是 raftstore is busy 的错误信息,会和 I/O 有相关性。

可以通过查看监控:grafana -> TiKV -> errors 监控确认具体 busy 原因。其中,server is busy 是 TiKV 自身的流控机制,TiKV 通过这种方式告知 tidb/ti-client 当前 TiKV 的压力过大,过一会儿再尝试。

4、从告警发现 I/O 问题
集群部署工具 (TiDB-Ansible, TiUP) 默认部署的告警组件,官方已经预置了相关的告警项目和阈值,I/O 相关项包括:

TiKV_write_stall
TiKV_raft_log_lag
TiKV_async_request_snapshot_duration_seconds
TiKV_async_request_write_duration_seconds
TiKV_raft_append_log_duration_secs
TiKV_raft_apply_log_duration_secs
复制

5、I/O 问题处理方案
当确认为热点 I/O 问题的时候,需要参考 TiDB 热点问题处理来消除相关的热点 I/O 情况。
当确认整体 I/O 已经到达瓶颈的时候,且从业务侧能够判断 I/O 的能力会持续的跟不上,那么就可以利用分布式数据库的 scale 的能力,采用扩容 TiKV 节点数量的方案来获取更大的整体 I/O 吞吐量。
调整上述说明中的一些参数,使用计算/内存资源来换取磁盘的存储资源。

https://www.wenjiangs.com/doc/tidb-troubleshoot-high-disk-io

暂无图片 评论
暂无图片 有用 0
打赏 0
暂无图片
愤怒的蜗牛
2022-11-13
2022-11-13
回答交流
Markdown


请输入正文
提交
相关推荐
tidb创建表的时候时间字段怎么制定?
回答 1
已采纳
createtimestampTIMESTAMPNOTNULLDEFAULTCURRENTTIMESTAMPONUPDATECURRENTTIMESTAMPCOMMENT'时间(timestamp)'
有多个tidb_server ,多个tikv,此时某一个或者多个tikv 出现io问题,如何定位sql来自哪个tidb_server ?
回答 1
结合dashboard对应时间点的慢查询先确定是哪个SQL,然后dashboard慢查询界面对应的sql点进去会显示instance地址
Tidb cdc
回答 1
https://docs.pingcap.com/zh/tidb/stable/ticdcoverview
tidb数据库里面误删除了root用户,怎么解决?
回答 1
已采纳
可以参考TIDB的官方文档:TiDB用户账户管理底层跟mysql一样,所以重建root用户即可,可参考:MYSQL的root用户被删除后重建
知乎昨天数据库出问题,是TiDB的问题吗?
回答 1
已采纳
根据了解,不是TiDB。TiDB在知乎接入的应该是已读历史的库,三百来个节点,评论这一块应该是其他数据库架构。
能用机械硬盘的服务器安装tiflash节点吗?测试环境
回答 2
可以的。正式的官方也是推荐你用ssd较好。如果没有,用普通硬盘也行。如果你对性能没有太高要求的话。
PD的功能就是路由吗
回答 1
PDPlacementDriver负责实现路由功能,其职责还包括:集群的元信息(某个Key存储在哪个TiKV节点);TiKV集群进行调度和负载均衡;分配全局唯一且递增的事务IDTiDBServer负责
存储是列式存储吗
回答 1
TiDB不是列式存储。
tidb最近写入时一直报错:could not retrieve transaction read-only status from server
回答 1
通过 STARTTRANSACTIONREADONLYASOFTIMESTAMP 开启的事务为只读事务。假如在该事务中执行写入操作,操作将会被该事务拒绝。
tidb能不能用 yaml 模式写好备份恢复?
回答 2
问了就是可以😀