MySQL反应慢排查
前言
话说某天的一个阳光明媚的下午,我正在公司的楼下喝着咖啡,听着歌。本来心情美滋滋,突然微信收到一条消息:‘现在10.X.X.X MySQL 反应很慢,xx库反应都很慢’,婉如晴天霹雳,百米冲刺的速度跑到办公桌前开始排查问题。
第一招 纵览大局
登录到MySQL系统中,第一件事,先进行top
来确定一个大范围。如下几个比较重要的信息
load average #当前OS的系统负载,分别是1分钟,5分钟,15分钟。主要目的是确定当前的系统大概的压力范围。
%Cpu(s): 0.0 us, 0.3 sy, 0.0 wa #分别对应用户执行程序所消耗的资源占CPU的百分比、内核所消耗占CPU的百分比、等待IO输入输出占CPU时间百分比
KiB Mem : 481876 total, 9300 free, 269364 used, 203212 buff/cache
KiB Swap: 2096124 total, 2094580 free, 1544 used. 165964 avail Mem
#MEM、SWAP的总量、使用、空闲
一般情况,在观察top
输出中,如果发现 us
很高,可能是慢查询,SQL执行效率差导致,等其他原因导致的。