2026年7月21日

2026年7月21日

Nginxのopen_file_cacheでパフォーマンスを改善する方法

ステップ1: Nginxのopen_file_cacheを有効化

場面1: 大量の静的ファイルを提供するウェブサイト

大量のCSS、画像、JavaScriptファイルを持つウェブサイトでは、各リクエストが同じファイルにアクセスして情報を読み込むため、ファイルシステムへのアクセス回数が多くなることがあります。これによりI/O待ち時間が増加し、全体的な応答性が低下します。

場面2: 高頻度のアクセスを受けるウェブサイト

高頻度でアクセスされるウェブサイトでは、同じファイルを何度も読み込む必要があり、これはファイルシステムへの負荷となります。open_file_cache を使用することで、この問題を軽減し、パフォーマンスを向上させることができます。

ステップ2: open_file_cacheの設定

基本操作のサブタイトル

# Nginxのコンフィギュレーションファイルを開く
sudo nano /etc/nginx/nginx.conf

# または特定のサイトのコンフィギュレーションファイルを開く
sudo nano /etc/nginx/conf.d/example.com.conf

# open_file_cacheを有効化する
http {
    ...
    open_file_cache max=10000 inactive=20s;
    open_file_cache_valid 30s;
    open_file_cache_min_uses 2;
    open_file_cache_errors on;
    ...
}

ステップ3: open_file_cacheの効果的な使用

主要オプション/設定

# 最大キャッシュサイズと無活動時間
open_file_cache max=10000 inactive=20s;

# キャッシュが有効な期間
open_file_cache_valid 30s;

# 使用回数が最低限になるとキャッシュから削除する
open_file_cache_min_uses 2;

# エラーをキャッシュに記録する
open_file_cache_errors on;

ステップ4: open_file_cacheの実践/トラブルシュート/監視

実践/トラブルシュート/監視

# Nginxを再起動して変更を適用する
sudo systemctl restart nginx

# キャッシュの状態を確認する
cat /dev/shm/nginx-open_file_cache

# パフォーマンスモニタリング用にNginxエラーログを確認する
tail -f /var/log/nginx/error.log

注意事項

  • キャッシュサイズの設定: maxパラメータは、同時アクセス時に保存される最大ファイル数を指定します。適切な値を決定するために、システムのメモリとウェブサイトの特徴に基づいて調整する必要があります。
  • 無活動時間の設定: inactiveパラメータは、キャッシュから削除されるまでの無活性期間を定義します。この値が短すぎると、ファイルが頻繁にキャッシュから失われる可能性があります;長すぎると古いファイルがキャッシュに残り続ける可能性があります。
  • 使用回数の設定: min_usesパラメータは、ファイルが何回読み込まれた後にキャッシュから削除されるかを定義します。この値が低いほど、多くのファイルがキャッシュに保存されますが、高すぎると有用なファイルがキャッシュから失われる可能性があります。
  • セキュリティ上の注意: open_file_cache_errors onはエラーログにキャッシュに関する情報を記録するためのオプションです。これにより、キャッシュが正しく動作していない場合のトラブルシュートが容易になります。

まとめ

1. 最大ファイル数: maxパラメータを適切な値で設定することで、同時アクセス時に保存される最大ファイル数を制御します。

2. 無活動時間: inactiveパラメータはキャッシュから削除されるまでの無活性期間を定義し、I/O待ち時間を短縮します。

3. 使用回数: min_usesパラメータは、ファイルが何回読み込まれた後にキャッシュから削除されるかを定義し、ファイルの有効性を維持します。

4. エラー記録: open_file_cache_errors onはエラーログにキャッシュに関する情報を記録するためのオプションで、トラブルシュートが容易になります。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ