web-dev-qa-db-ja.com

AWS EC2 / RDSのパフォーマンスの低下をトラブルシューティングするにはどうすればよいですか?

私たちは最近、約10年前のボックスからAWS EC2にウェブサーバーを移動しました。

現在、サイトの使用率は高く(繁忙期です)、サイトの速度は非常に遅くなっています。これは、インスタンスのサイズが以前よりもはるかに大きいため、予想外です。

一度に数百しか取得しないかなり小さなサイトを運営しています。 Webサーバーでc3.largeインスタンスを実行しており、RDS MySQLデータベースでdb.m1.largeを実行しています。リードレプリカや複数のウェブサーバー(負荷分散)はありません。 Google Analyticsによると、1日あたりのページビューは18,106しかありませんでした。

私たちのユーザー(外部および内部)は、ブラウザーでサイトのタイムアウトを確認し続けます。これは、特定のページではなく、ほぼ全体に適用されます。 MySQL PROCESS LISTも、テーブルロックなどがないとほとんど空です。

CloudWatchで統計情報を見ると、すべて問題ないはずです。 CPU使用率が非常に高く、ネットワークI/Oがかなり低いと思います。同様に、RDS側では、「ボトルネック」を叫んでいるものはありません。

EC2の使用法(c3.large) UE2 Usage

RDSの使用法(db.m1.large) RDS Usage

この問題のトラブルシューティングについてどのようにすればよいですか?

5
DOOManiac

最後に、問題の原因を突き止めました。 Apacheは、キープアライブタイムアウトが30秒間になるように誤って設定されていました。これが過度に攻撃的なAJAXスクリプトと組み合わされたため、サイトがハングし、接続を待機していました。

KeepAliveTimeoutを7に減らし、AJAXスクリプトを使いこなすことで、すべてが正常に戻りました。

6
DOOManiac