tikv组件影响其他非tikv数据盘IO

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
【概述】场景+问题概述
tikv节点运行2个服务:tikv和 elasticsearch服务
分别有2块数据盘,1块sdb是tikv数据盘,另一块盘sdc是用做elasticsearch数据盘
现在sdc io utils 一直100%,很影响es数据查询性能。但是把tikv服务停掉,sdc的 io立马就会降下来,我想问下这是什么情况? 为啥tikv服务还会影响到其他数据盘的io了呢,会不会跟扩容tikv时初始化的一些优化操作有关呀?

【背景】做过哪些操作
【现象】业务和数据库现象
【业务影响】
【TiDB 版本】
Cluster version: v4.0.9
【附件】

  1. TiUP Cluster Display 信息

IO 是需要 CPU 和 内存 来协调运行的
参考下图:
image
image
image

如果是单机多块硬盘,同时读写的时候,就引发cpu的资源和内存资源的竞争

建议用numa 绑定一下,https://docs.pingcap.com/zh/tidb/stable/check-before-deployment#安装-numactl-工具

两个盘的线缆是一根吗?线缆带宽多少?是SAS还是NVME?

您的意思是说:因为tikv抢占CPU,导致了负载高,cpu处理不过来,所以sdc 的io高是吗?
但是我的服务器负载并不是特别高,单核平均负载并没有达到 1,CPU运行队列也远远没有达到cpu核心数,只是进程阻塞挺多的,我这个物理服务器vcore是40核,下面是我vmstat信息

两个盘的分区格式都是什么?

2个盘是通过RAID卡 H330连接到主板的,没有做RAID

sdb的盘是 intel s4510 ssd
sdc 是 sas del的
都是sata线连接的,不是nvme

/dev/sdb1 ext4 1.8T 581G 1.1T 35% /disk1
/dev/sdc1 xfs 3.7T 1.9T 1.8T 52% /disk2

sdb是根据tidb部署文件要求ext4 格式分区挂载的
sdc是系统默认的xfs

看下主板SAS带宽是多少?把机械盘装到板载SAS上试下

ext4不支持异步IO吧,性能很差的,你可以用fio测试下两者的差距

1 个赞

image

1 个赞

ext4不是tidb官方要求的类型吗?

把SSD接到带宽高的接口上去,注意接口+线两者带宽是取的最底的

但xfs性能明显好于ext4,可以用软件测试下

想到一个问题,sdc是不是随机IO比较多呢?

您的意思是说io瓶颈是在 raid卡上了吗?我这raid卡即使是按最低的3Gbps 也远没达到吧?

看看能不能排查一下,你描述的 cpu 资源如果没有抢占,
试试不用raid 卡

最坑的是这个DELL服务器,不能直连,只能通过raid卡。。

找出核心问题就好,如果是随机IO高:
1、开启RAID卡写缓存
2、用SSD盘
3、用xfs文件系统

1 个赞

存储缓存多大?可以用fio看看4种模式读写性能

肯定是没达到存储的IO瓶颈的,目前来看 如果和 tikv没关系的话,可能是RAID卡的瓶颈了。

1 个赞