メモ > サーバ > 各論: トラブル対応例 > サーバが重い・サーバに繋がらない 4
サーバが重い・サーバに繋がらない 4
CloudWatchを確認すると、RDSのCPU使用率が60%ほどに達していた。
AWSのコンソールからスロークエリログをダウンロードして確認。
(テーブルに記録している場合、SQLでスロークエリログを確認する。)
select * from `sh_headers` where `unit_id` = '32' and `sh_headers`.`no` = '4452013' and `dlv_nt_no` = '4452013' limit 1;
のような、検索のスロークエリログが大量に記録されている。
このクエリをNavicatで実行すると1.112秒かかる。7秒以上かかるときもある。遅い。
使用していたRDSは db.t2.large。t2系なので、CPUクレジットを確認すると枯渇していた。
CPUCreditBalanceで残高、CPUCreditUsageで使用状況を確認できる。
(監視対象に入れていなかったが、これも監視対象に入れておくと良い。その他、AWSならではな監視項目があるかもなので、ひととおり確認する。)
CPU クレジット - T2 インスタンス - Amazon Elastic Compute Cloud
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/t2-instances.html#t2-instances-cpu-credits
引き続き、CPUクレジットを消費した原因を調査。
MySQLの以下のコマンドでプロセスを確認すると、ゾンビプロセスがいた。
SHOW PROCESSLIST;
処理時間が非常に長いのでKILLした(らしい)。
すぐにRDSのCPU使用率が下がり始めた。
直接の原因は最近行った改修内容と思われる。
改修以降にCPU負荷が高くなったため、該当箇所を再調整して様子を見る。
Advertisement