读性能慢-物理环境排查

  1. 硬件资源不足

    CPU 资源不足

  • 问题定位
    HOST System Info
    Overview → System Info
    查看各 Host 的 CPU Core、CPU Usage、CPU Load
    TiKV CPU
    Overview → TiKV → CPU
    查看各 TiKV Instance CPU 使用情况(此处统计的是每个 CPU CORE 的 SUM 值 )
    TiDB CPU
    TiDB → Server → CPU Usage
    查看各 TiDB CPU 使用情况 (此处统计的是每个 CPU CORE 的 SUM 值 )
    通常TiDB 实例与TiKV 实例均对 CPU 有一定要求,如果实例存在混部,很容易导致资源竞争,从而影响 TiDB 集群的读性能
    PS. 如果 TiDB Server 与 PD 进行混部。当 TiDB CPU 很高,且当前 HOST 上的 PD 实例为 Leader ,将可能影响 PD 处理 TSO 的性能,从而影响 TiDB 集群读性能

  • 解决方法
    统一各服务模块的硬件配置
    如 HOST 资源不满足,或者相同模块实例配置不统一,将会出现不可预测的情况。TiKV 实例尤为明显,尤其 IO 性能与 CPU 性能各 host 不统一时,会出现局部热点情况。
    缩容混部的服务实例
    如是实例的混部,可以参考官方文档 “混合部署拓扑” 进行配置
    如果资源不满足官方推荐配置,强烈建议避免混部服务,可使用 TiUP 对实例进行 缩容操作

    IO 资源不足

  • 问题定位
    Disk-Performance → Disk Latency 磁盘响应延迟(默认看到的是 Read Latency,需要通过 修改监控面板来展示写 Write Latency)


    正常情况Latency 应小于 1ms ,不应高于 2ms

    Disk-Performance → Disk Bandwidth 磁盘带宽
    SSD 的接口协议分为 NVME 、AHCI 一般对应 PCIE 接口与 SATA 接口
    PCIE 3.0 理论带宽 32Gib
    SATA 3.0 理论带宽 6GiB
    PS.由于各品牌和型号不一,IOPS 性能也不同这里同时给出一个 IOPS 的参考值
    iofile 测试 16K chunk 顺序写与随机读性能均 ≥ 10000 IOPS

  • 解决方法

    升级硬件

    更换带宽更高的硬件设备,或者缩容混部的服务实例
    如果是 PCIE 接口的 SSD ,理论上可以一台 HOST 服务器部署两个 TiKV 实例
    缩容混部的服务实例
    如是实例的混部,可以参考官方文档 “[混合部署拓扑] (https://docs.pingcap.com/zh/tidb/stable/hybrid-deployment-topology)” 进行配置
    如果资源不满足官方推荐配置,强烈建议避免混部服务,可使用 TiUP 对实例进行 缩容操作