
ボトルネックの探し方
- 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