记录一次通过iostat命令定位系统数据库CPU飙升的案例

一、背景

        我们有个移动考勤的系统,运维监控系统显示,每到上下班时间,考勤数据库的CPU就飙升到100%,磁盘读写请求等待时间变长,最初无法确定是磁盘性能下降导致的CPU飙升,还是CPU飙升导致的磁盘性能下降,下面是在CPU到100%时通过iostat监测的磁盘io和CPU的具体情况。

二、监测命令

iostat -c -x -k -d 1

三、监测截图

记录一次通过iostat命令定位系统数据库CPU飙升的案例_第1张图片

        从上面的图可以看出,在CPU idle剩余0.05%时,iowait很低,说明CPU繁忙,磁盘io不忙,导致CPU无法有多余的算力处理其他请求。

记录一次通过iostat命令定位系统数据库CPU飙升的案例_第2张图片 

        在CPU idle 90.74%时,磁盘io正常。

        综上两张图分析,认为是考勤的程序有不当的sql语句导致CPU飙升,经过开发同事的定位,终于抓住一条慢sql进行优化,优化后上下班考勤CPU正常。

你可能感兴趣的:(运维,数据库)