ホームページ >運用・保守 >Nginx >Nginx のキャッシュ メカニズムとパフォーマンス チューニング手法についての詳細な説明

Nginx のキャッシュ メカニズムとパフォーマンス チューニング手法についての詳細な説明

王林
王林オリジナル
2023-08-26 21:46:45974ブラウズ

Nginx のキャッシュ メカニズムとパフォーマンス チューニング手法についての詳細な説明

Nginx のキャッシュ メカニズムとパフォーマンス チューニング技術についての詳細な説明

はじめに:
今日の Web 開発では、高いパフォーマンスと高い同時実行性が追求されています。目標。高性能 Web サーバーとして、Nginx のキャッシュ メカニズムとパフォーマンス チューニング スキルは、Web サイトの負荷容量を向上させるために重要です。この記事では、Nginx のキャッシュ メカニズムとパフォーマンス チューニング手法について詳しく説明し、関連するコード例を示します。

1. Nginx のキャッシュ メカニズム
Nginx のキャッシュ メカニズムは、プロキシ キャッシュ モジュールを通じて実装されます。プロキシされたデータをローカルにキャッシュできるため、次回同じリクエストが来た場合、バックエンドサーバーにリクエストを送信することなく、データがキャッシュから直接読み取られます。これにより、バックエンド サーバーの負荷が大幅に軽減され、Web サイトの応答速度が向上します。

  1. キャッシュを有効にする
    Nginx のキャッシュ機能を有効にするには、まず次のコードを Nginx 構成ファイルに追加する必要があります:

    http {
     ...
     proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;
     proxy_temp_path /data/nginx/tmp;
     ...
    }

    このコードでは、 proxy_cache_path キャッシュ パスといくつかの関連パラメーターを定義します。このうち、levels パラメータはキャッシュ パスに作成されるディレクトリ レベルを表し、keys_zone パラメータはキャッシュされたインデックスと関連メタデータの保存に使用される共有メモリ領域を定義します。max_size このパラメータは、キャッシュの最大サイズを定義します。inactive パラメータは、一定期間アクセスされなかったキャッシュが期限切れであるとみなされることを示します。use_temp_path パラメータキャッシュ ファイルを一時パスに置くかどうかを指定します。

  2. キャッシュ ルールの構成
    どのリクエストをキャッシュする必要があるかを指定するには、次のコードを Nginx 構成ファイルに追加できます:

    http {
     ...
     location / {
         proxy_pass http://backend;
         proxy_cache my_cache;
         proxy_cache_valid 200 304 1h;
     }
     ...
    }

    このコードでは、 proxy_pass ディレクティブはプロキシ先のバックエンド サーバー アドレスを定義し、proxy_cache は使用されるキャッシュ領域を指定し、proxy_cache_valid はキャッシュされる HTTP ステータス コード 200 および 304 を定義します。時間。

  3. キャッシュの更新とクリア
    データのリアルタイム性と正確性を確保するために、キャッシュを手動で更新またはクリアする必要がある場合があります。次のコードを Nginx 構成ファイルに追加できます。

    http {
     ...
     location /flush_cache {
         internal;
         proxy_cache_purge my_cache "$scheme$request_method$host$request_uri";
         return 200 "Cache flushed successfully";
     }
     ...
    }

    このコードでは、location でキャッシュを更新する URL を指定し、internal ディレクティブでキャッシュを制限します。 request Nginx によって内部的にのみ呼び出すことができます。proxy_cache_purge ディレクティブは、キャッシュをクリーンアップするために使用されます。

2. Nginx パフォーマンス チューニング テクニック
キャッシュ メカニズムに加えて、いくつかのパフォーマンス チューニング テクニックを通じて Nginx のパフォーマンスをさらに向上させることもできます。

  1. ワーカー プロセスの同時接続数を増やす
    Nginx では、デフォルトで構成されているワーカー プロセスの数が少なくなります。構成ファイルを変更することで、ワーカー プロセスの数を増やすことができます。同時接続数を増やすには:

    worker_processes auto;
    events {
     worker_connections 4096;
    }

    このコードでは、worker_processes でワーカー プロセスの数を指定し、events 部分で同時接続の最大数を指定します。ワーカープロセスごとに。

  2. TCP 接続とタイムアウト パラメータを構成する
    TCP 接続とタイムアウト パラメータを適切に構成すると、Nginx のパフォーマンスを向上させることができます:

    http {
     ...
     keepalive_timeout 65;
     keepalive_requests 100;
     send_timeout 2m;
     client_header_timeout 1m;
     ...
    }

    このコードでは、 keepalive_timeout は、クライアント接続がリクエストなしでアクティブな状態を維持する最大時間を定義します。 keepalive_requests は、クライアント接続リクエストの最大数を定義します。 send_timeout は、クライアントに応答を送信する最大時間を定義します。 , client_header_timeout は、クライアント リクエスト ヘッダーを受信するまでの最大時間を定義します。

  3. Gzip 圧縮を有効にする
    Gzip 圧縮を有効にすると、転送されるデータ量が減り、ページの読み込み速度が向上します:

    http {
     ...
     gzip on;
     gzip_disable "msie6";
     gzip_types text/plain text/css application/json;
     ...
    }

    このコードでは、 gzip ディレクティブは Gzip 圧縮を有効にし、gzip_disablemsie6 ブラウザ要求を圧縮しないことを指定し、gzip_types は Gzip 圧縮を必要とする MIME タイプを指定します。

結論:
Nginx のキャッシュ メカニズムとパフォーマンス チューニング技術について徹底的に議論することで、Nginx をより深く理解し、適用し、Web サイトの負荷容量とユーザー エクスペリエンスを効果的に向上させることができます。 。キャッシュ メカニズムとパフォーマンス パラメーターを適切に構成し、実際の状況に応じてチューニングすることで、高パフォーマンスおよび高同時実行性の Web 開発でより良い結果を達成できます。この記事が読者のお役に立てば幸いです。

以上がNginx のキャッシュ メカニズムとパフォーマンス チューニング手法についての詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。