mysqlのクエリが詰まったので解消したメモ
どうもやんてらです。今回はmysqlでクエリが詰まりすぎて何もできなくなったのでそれを解消したメモになります。
クエリが詰まるとCPU使用率がどんどん高くなっていきました(99.8%ぐらいまで上がっていたのでほんと危なかったです笑
show processlist
を使用するとmysqlで積み上がっているクエリが見れます
show processlist +----+------+------------------+---------+---------+------+--------------+-------------------------------------------------------------------------------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------+------------------+---------+---------+------+--------------+-------------------------------------------------------------------------------------------+ | 1 | root | 172.18.0.5:35500 | example | Query | 0 | Sending data | SELECT `sutudents`.* FROM `sutudents` WHERE `students`.`id` = 94068 | | 2 | root | 172.18.0.1:47626 | example | Query | 0 | NULL | show processlist | +----+------+----------------------------+---------+------+--------------+-------------------------------------------------------------------------------------------+
上で表示されている詰まっているIDのプロセスをkillすれば残りのプロセスが実行されていくはずです。
kill Id
※もし本番で発生した場合は一人で対応ではなく複数人でダブルチェックしながら作業するのがおすすめです。(select 以外のプロセスをkillすると大惨事になるので気をつけて下さい
今回はこれで以上です。