NGINX は、サーバーのパフォーマンスと効率を最適化するための多くの機能を備えた高性能 Web サーバーです。そのような機能の 1 つがオープン ファイル キャッシュです。これは、開いているファイルに関する情報をキャッシュすることでパフォーマンスを向上させます。これにより、ファイル情報にアクセスするために必要なシステム コールの数が減り、応答時間が短縮され、サーバーの負荷が軽減されます。NGINX でオープン ファイル キャッシュを有効にすると、特に高負荷の状況で Web サーバーのパフォーマンスが大幅に向上します。
このガイドでは、NGINX でオープン ファイル キャッシュを有効にして構成する方法を説明し、サーバーのパフォーマンスを最適化するための手順を段階的に示します。
Nginx でオープンファイルキャッシュを有効にする
Nginx 設定ファイルへのアクセス
Open File Cache を有効にするには、まず Nginx 設定ファイルにアクセスします。このファイルは通常、/etc/nginx/nginx.conf にあります。Nano などのテキスト エディターで開きます。
sudo nano /etc/nginx/nginx.conf
Nginx でオープンファイルキャッシュを構成する
設定ファイル内に次のディレクティブを挿入して、Open File Cache を有効にします。
open_file_cache max=10000 inactive=10s;
open_file_cache_valid 60s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
Nginx でのファイルキャッシュを開く設定例
以下は、標準の Nginx 構成でこれらの設定を示す例です。
http {
open_file_cache max=10000 inactive=10s;
open_file_cache_valid 60s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
server {
listen 80;
server_name example.com;
location / {
root /var/www/example.com;
index index.html;
}
}
}
これらの設定を組み込んだ後、CTRL + X を押して nano テキスト エディターで変更を保存し、Y を押して保存を確認します。その後、エディターを終了します。
Nginx 構成におけるオープン ファイル キャッシュの理解
上記の構成の各行は重要な役割を果たします。
- 最大キャッシュサイズと非アクティブ期間: open_file_cache max=10000 inactive=10s; は、キャッシュするファイル記述子の最大数 (10,000) を設定し、非アクティブなファイルがキャッシュから削除されるまでの期間 (10 秒) を指定します。
- キャッシュファイルの有効期限: open_file_cache_valid 60s は、キャッシュされたファイルの有効期間を指定します。ここでは、60 秒に設定されています。
- キャッシュの最小使用量: open_file_cache_min_uses 2; これは、ファイルがキャッシュされる前にアクセスする必要がある最小回数を決定します。この例では 2 に設定されています。
- キャッシュファイルエラー: open_file_cache_errors on; ファイルのオープン時にエラーが発生した場合でもファイル記述子のキャッシュを許可し、エラー処理の効率を高めます。
これらの構成はバランスの取れたアプローチを提供し、サーバーのパフォーマンスを維持しながらファイル キャッシュを最適化します。
Nginx の確認と再起動
これらの変更を実際の環境に実装する前に、構成が正しいことを確認してください。
nginx -t
実装が成功すると、次の出力が表示されます。
nginx: configuration file /etc/nginx/nginx.conf test is successful
最後に、変更を適用するために Nginx サーバーを再起動します。
sudo systemctl restart nginx
結論
NGINX でオープン ファイル キャッシュを有効にすると、サーバーの応答時間と全体的なパフォーマンスが向上します。この構成の効果を定期的に監視して、望ましい利点が得られることを確認し、必要に応じて設定を調整してください。オープン ファイル キャッシュを実装することは、NGINX を最適化する強力な方法であり、Web サーバーの効率を高め、より高いトラフィック負荷を処理できるようになります。