OceanBase主机CPU超过85% SQL性能急剧下降案例
之前在培训的时候,OceanBase的老师就说过,当主机CPU使用率超过85%之后,SQL的就会急剧下降。但是具体性能回退多少,并为详细说明,最近分析问题的时候刚好碰到相关案例,简单记录下
ocp记录的主机CPU相关信息如下
6-1号下午6:30左右,通过ocp主机性能分析模块发现主机CPU突然飙升,且CPU主机使用率持续超过85%以上
后台查看问题时间点的并发SQL,发现077开头的SQL并发量在100左右,后判断业务通过mod函数起了100个并发
通过ocp后台信息查看问题SQL的执行情况:
从下面的SQL执行情况可以看到,在6-1号的时候问题SQL在下午六点半开始执行,平均执行时间为21ms-30ms,到6-2号之后,平均执行时间为1.7毫秒
查看问题时间点的SQL执行计划,也能看到执行计划是走的索引扫描,执行计划正常
通过上述问题SQL的观察,可以判断出,问题SQL并发量上来之后,将主机CPU打满,当CPU使用率超过85%的时候,SQL的执行性能确实极速下降,形成恶性循环,SQL性能回退大概是15-20倍左右。