Nginxのパフォーマンスとリソースの使用を監視することは、Webサーバーの健康と効率を維持するために不可欠です。包括的な監視を実現する方法は次のとおりです。
nginxステータスページ:
NGINXは、現在の接続、アクティブな接続、およびリクエストの概要を1秒あたりにすることができる組み込みステータスページを提供します。これを有効にするには、 ngx_http_stub_status_module
を含めるようにnginx.conf
ファイルを構成する必要があります。これがあなたのやり方です:
<code class="nginx">location /nginx_status { stub_status; access_log off; allow 127.0.0.1; # Only allow access from localhost deny all; # Deny access from anywhere else }</code>
http://yourserver/nginx_status
にアクセスして、このステータスにアクセスできます。システムレベルの監視:
top
、 htop
、 mpstat
などのシステム監視ツールを使用して、全体的なCPUとメモリの使用量を確認します。これらのツールは、Nginxがシステムリソースをどのように利用しているかについてのリアルタイムの洞察を提供します。iostat
を使用して読み取り/書き込み操作を監視します。これは、特にサーバーが多くの静的コンテンツを処理している場合、Nginxパフォーマンスに影響を与える可能性があります。ログ分析:
goaccess
などのツールは、これらのログを解析し、リクエストの数、帯域幅、TOPに訪問したURLなどの統計を提示できます。サードパーティの監視ツール:
Nginxサーバーの負荷と応答時間を追跡するには、いくつかのツールを使用でき、それぞれが異なる機能と詳細レベルを提供します。
nginxステータスモジュール:
プロメテウスとグラファナ:
新しい遺物:
Datadog:
goaccess:
Nginx CPUおよびメモリ使用量のリアルタイム監視のセットアップは、次の手順で実行できます。
監視エージェントのインストール:
prometheusを構成します:
ノードエクスポーターからメトリックをスクレイプするようにプロメテウスを設定します。 prometheus.yml
構成ファイルを作成し、ノードエクスポートからスクレイプするために必要なジョブを含める必要があります。
<code class="yaml">scrape_configs: - job_name: 'nginx' static_configs: - targets: ['localhost:9100'] # Assuming Node Exporter is running on port 9100</code>
Grafanaをセットアップ:
リアルタイムアラート:
監視データに基づいて、Nginxパフォーマンスを最適化するためのいくつかのベストプラクティスを次に示します。
ワーカープロセスを調整します:
サーバーのCPUコアに従って、ワーカープロセスの数を調整します。これをnginx.conf
で設定できます。
<code class="nginx">worker_processes auto;</code>
接続処理を最適化します:
アクティブな接続の数を監視し、それに応じてworker_connections
を調整します。これは、より並行した接続を効率的に処理するのに役立ちます。
<code class="nginx">events { worker_connections 1024; }</code>
キャッシュを有効にする:
nginx.conf
でキャッシュを構成します:
<code class="nginx">proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m;</code>
GZIP圧縮:
GZIP圧縮を有効にして、ネットワークを介して転送されるデータの量を減らします。帯域幅と応答時間を監視して、メリットを確認してください。
<code class="nginx">gzip on; gzip_vary on; gzip_proxied any; gzip_comp_level 6; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml rss text/javascript;</code>
負荷分散を使用します:
バッファのサイズを監視および調整します:
監視データに基づいて、 proxy_buffer_size
やproxy_buffers
などのバッファサイズを調整して、大規模なファイル転送または高トラフィックサイトのパフォーマンスを最適化します。
<code class="nginx">proxy_buffer_size 128k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k;</code>
nginxを更新してください:
これらのベストプラクティスに従い、Nginxサーバーを継続的に監視することにより、そのパフォーマンスを最適化し、さまざまな負荷で効率的に実行することを確認できます。
以上がNGINXのパフォーマンスとリソースの使用を監視するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。