集群 QPS、TPS 上不去,从哪些维度逐层排查瓶颈?

集群 QPS、TPS 上不去,从哪些维度逐层排查瓶颈?

1 个赞

排查集群 QPS/TPS 瓶颈,按以下层次逐层检查(由外到内):

  1. 压测客户端:工具本身是否达到性能上限(CPU/网络/连接数)?是否分布式?
  2. 网络与负载均衡:带宽是否打满?SLB 实例规格、最大连接数、包转发率是否到顶?
  3. 应用层
    • 线程池队列是否满(大量 RejectedExecutionException)?
    • GC 是否频繁(特别是 Full GC)?
    • 是否存在锁竞争、同步块?
    • 日志级别是否过高(如 Debug)且同步刷盘?
  4. 依赖中间件:
    • 数据库:连接池大小、慢查询、锁等待、死锁。
    • 缓存(Redis):网络 IO 是否饱和、大 key 热 key。
    • 消息队列:积压、分区倾斜。
  5. 操作系统与容器
    • CPU/内存/IO 使用率(留意软中断 si、iowait)。
    • 文件句柄数、端口范围、TCP 连接状态(TIME_WAIT 过多)。
    • 容器/虚拟机 CPU 限流(Cgroup throttling)。
1 个赞

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。