为啥duration在QPS大的时候比较平稳,QPS小的时候反而波动很大

来自: @hey-hoho 的问题:
请问下大佬们,为啥duration在QPS大的时候比较平稳,QPS小的时候反而波动很大
2f0f9a666bc45bd7295e3734e56cd8c

@xfworld 的回复:
QPS 小,是不是资源被拿去走系统调度了

@db_user 的回复:
因为有慢查询才qps小的吧

@xfworld 的回复:
内核运维?
这个也有可能

@hey-hoho 的回复:
不是慢查询,下半夜没啥业务量所以QPS小
之前做压测也是,压力一上来就稳的一匹,压力一跑完就开始抖

@meditator 的回复:
好奇怪,有没有开启调度窗口或者分析窗口或者备份?

@hey-hoho 的回复:
735032836a09e65373d1a7fccf0238e

@meditator 的回复:
或者部署的主机上混部署其他的 或者有其他的任务调度?

@hey-hoho 的回复:
没啥别的调度任务,只有系统默认的auto analyze

@meditator 的回复:
QPS小的时候,系统有统计信息的大sql,然后这个系统统计sql 占比高导致的?
然后拉升了整个时延时间

给表妹加:poultry_leg:

这个问题从实际业务场景中排查时间段内的慢查询后,得出以下几点可能的原因,供大家参考:

  • 系统自动发起的auto analyze
  • Xxljob发起的select for update
  • 比较频繁的一张小表delete全表

业务高峰期时QPS比较高,以上三类慢SQL占比不是很多,在duration的监控曲线中并没有显示出来,当QPS下降以后,慢SQL比例上升,显示为duration波动较大。

nice~