🦝

nginxで負荷が減りそうなチューニングまとめ

2022/02/13に公開

■静的コンテンツキャッシュ・ログの破棄
nginx.conf

location ~ \.(css|gif|ico|jpeg|jpg|js|pdf|png|svg|swf|zip|eot|otf|ttf|woff|woff2) {
    expires 24h;
    access_log off;
    log_not_found off;
    # CDNなどが設定できると更に良い。
    # rewrite ^ http://cdn.sugoicdn.net$request_uri? last;
}

その他チューニング
multi_accept
onにすることで同時に複数のアクセスを受け入れることができる。負荷だけ考えるならoffでも良いかも。
tcp_nopush
onにすると、レスポンスヘッダとファイルの内容をまとめて送ることができるので、パケット数を減らすことができる。
gzip
onにするとレスポンスをgzipで圧縮する。
keepalive_timeout
キープアライブのタイムアウト。同一クライアントからのコネクションを残しておいて、再接続の効率を上げる。長時間に設定すると通信が遅いクライアントがいる場合に接続が残り続けてしまうため、短い秒数を設定する。3くらいが良さそう。
gzip_types
指定されたMIMEタイプを圧縮対象とする。「*」は全てという意味なのでこれが良さそう。

参考サイト:
https://blog.adachin.me/archives/9757
https://study-infra.com/nginx-tuning/
https://dev.classmethod.jp/articles/nginx-cdn-redirect-cloudfront-custom-origin/

Discussion