PPP3: パフォーマンス改善
Chapter 12 Webアプリケーションのパフォーマンス改善
まずは読む
- リクエスト数が増えるとCPU負荷が上がったりメモリーを消費したりしてアプリケーションサーバーが高負荷状態になる
- 負荷の種類(CPU・ディスク・メモリ)によって適切な対策を取る
- 効果が大きく用意に実行できることから試す
- 対策前後でパフォーマンスを計測する
- アプリケーションのパフォーマンスには、スループット・メモリ消費量・画面表示速度・通信時の応答速度などいろいろな指標がある
- 注目すべきは秒間リクエスト数と応答時間
- ApacheBench(ab)コマンドで計測する
- インストール
sudo apt install apache2-utils
- 計測
ab -n 1000 -c 100 http://127.0.0.1:8000/
(100並列で1000リクエスト)
- インストール
- gunicornを使う
- nginxを使う
- インストール
sudo apt install nginx
- 起動/停止/再起動/リロード
sudo service nginx start/stop/restart/reload
- 静的ファイルの配信は圧倒的に速い
- インストール
- nginxとgunicornを組み合わせて使う
- nginxをリバースプロキシにして、静的ファイルはnginxから配信することによってアプリケーションサーバーの負荷を下げる
- gunicornをデーモン化して実行
gunicorn -w 2 -b 127.0.0.1 -D norilog
読むだけにしておこう