WEBページの更新速度が遅い場合はボトルネックを探す

 

ボトルネックの探し方

  • 1台の場合と複数台ではやり方が異なる
  • ノード間(WEB、DB-ストレージ間)の通信ログを比較する
  • 時系列で処理時間を確認する
  • ネットワークの通信速度を計測する

 

  • サーバのスペックが低い(CPU、メモリ)
    • インスタンスタイプを変更する
  • ストレージの性能が低い(IOPS)
    • ストレージタイプを変更する
  • ミドルウェアを変更する(Apache→Nginx)
  • ログを設定する
    • WEBサーバログ
    • DBログ
    • フォーマットと粒度を設定する
  • 監視を設定する
    • ストレージの容量
    • リクエスト数
  • エビデンスを取得する(Before)
  • 対処処置を決める
    • 探す
    • 全部やってみる

 

  • エビデンスを取得する(After)

 

ボトルネックを探す方法

各ログを取得して、一覧化する。

ログの粒度を上げる。(ログレベル)

タイムスタンプを細かく設定する。

 

最後にテストする

テスト方法

 

 

ログの時間を確認する

下記2点を視点に細かく探っていく

  • WEBの表示速度が遅いのか、それはどの表示なのか
  • DBの読取り、書き込みがどちらが遅いのか

手当をする。before,afterを比較する。

環境

Apache2.4

Amazon LInux2

コマンド

下記のログを同時に確認する

tail -f /var/log/httpd/domain_ssl-access.log

tail -f /var/log/mysql_query_general.log

参考記事