Memo

メモ > サーバ > 各論: トラブル対応例 > サーバが重い・サーバに繋がらない 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