ホームページ > 運用・保守 > Nginx > NGINXのパフォーマンスとリソースの使用を監視するにはどうすればよいですか?

NGINXのパフォーマンスとリソースの使用を監視するにはどうすればよいですか?

James Robert Taylor
リリース: 2025-03-17 17:08:32
オリジナル
129 人が閲覧しました

Nginxのパフォーマンスとリソースの使用を監視するにはどうすればよいですか?

Nginxのパフォーマンスとリソースの使用を監視することは、Webサーバーの健康と効率を維持するために不可欠です。包括的な監視を実現する方法は次のとおりです。

  1. 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にアクセスして、このステータスにアクセスできます。
  2. システムレベルの監視:

    • tophtopmpstatなどのシステム監視ツールを使用して、全体的なCPUとメモリの使用量を確認します。これらのツールは、Nginxがシステムリソースをどのように利用しているかについてのリアルタイムの洞察を提供します。
    • ディスクI/Oの場合、 iostatを使用して読み取り/書き込み操作を監視します。これは、特にサーバーが多くの静的コンテンツを処理している場合、Nginxパフォーマンスに影響を与える可能性があります。
  3. ログ分析:

    • nginxアクセスとエラーログの分析は、パフォーマンスボトルネックを特定するのに役立ちます。 goaccessなどのツールは、これらのログを解析し、リクエストの数、帯域幅、TOPに訪問したURLなどの統計を提示できます。
  4. サードパーティの監視ツール:

    • PrometheusやGrafanaなどのツールを使用して、Nginxパフォーマンスの詳細なビューを提供するダッシュボードを作成できます。これらのツールは、Nginxステータスページやその他のメトリックをこすり、簡単に理解できる形式で提示できます。

Nginxサーバーの負荷と応答時間の追跡にどのツールを使用できますか?

Nginxサーバーの負荷と応答時間を追跡するには、いくつかのツールを使用でき、それぞれが異なる機能と詳細レベルを提供します。

  1. nginxステータスモジュール:

    • 前述のように、この組み込みモジュールは、アクティブな接続、要求あたりのリクエスト、接続状態などの基本的な負荷統計を提供できます。
  2. プロメテウスとグラファナ:

    • Prometheusは、Nginxステータスページやその他のソースからメトリックをこすります。 Grafanaと組み合わせると、強力な視覚化と能力を把握できます。時間の経過とともに、応答時間、サーバーの負荷、その他のメトリックを監視できます。
  3. 新しい遺物:

    • New Relicは、特定のNginxモニタリングを含む包括的な監視ソリューションを提供しています。応答時間、スループット、エラーを追跡し、Nginxサーバーが異なる負荷でどのように機能するかを理解するのに役立ちます。
  4. Datadog:

    • DataDogは、詳細なNginxメトリックを提供し、サーバーの負荷、応答時間、およびその他の主要なパフォーマンスインジケーターを追跡するのに役立ちます。また、アラートと履歴データ分析もサポートしています。
  5. goaccess:

    • GoAccessは、Nginxログをリアルタイムで分析して、サーバーの負荷と応答時間に関する洞察を提供できます。軽量で、サーバーで直接実行できます。

Nginx CPUおよびメモリ使用量のリアルタイム監視をセットアップするにはどうすればよいですか?

Nginx CPUおよびメモリ使用量のリアルタイム監視のセットアップは、次の手順で実行できます。

  1. 監視エージェントのインストール:

    • プロメテウス用のノードエクスポーターのようなエージェントをインストールします。 Node ExporterはNginxサーバーで実行され、Prometheusが削ることができるCPUおよびメモリ使用に関するメトリックを公開します。
  2. 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>
      ログイン後にコピー
  3. Grafanaをセットアップ:

    • Grafanaを使用して、Prometheusによって収集されたデータを視覚化するダッシュボードを作成します。 Prometheusをデータソースとして追加し、カスタムパネルを設計して、NGINXサーバーのリアルタイムCPUとメモリ使用量を表示できます。
  4. リアルタイムアラート:

    • CPUまたはメモリの使用量が事前定義されたしきい値を超えた場合に通知を送信するようにPrometheusでアラートルールを構成します。これらのアラートは、SlackやPagerDutyなどの通知サービスと統合できます。

監視データに基づいてNginxパフォーマンスを最適化するためのベストプラクティスは何ですか?

監視データに基づいて、Nginxパフォーマンスを最適化するためのいくつかのベストプラクティスを次に示します。

  1. ワーカープロセスを調整します:

    • サーバーのCPUコアに従って、ワーカープロセスの数を調整します。これをnginx.confで設定できます。

       <code class="nginx">worker_processes auto;</code>
      ログイン後にコピー
    • CPUの使用を監視すると、労働者の数を増やすか減らす必要があるかどうかを判断するのに役立ちます。
  2. 接続処理を最適化します:

    • アクティブな接続の数を監視し、それに応じてworker_connectionsを調整します。これは、より並行した接続を効率的に処理するのに役立ちます。

       <code class="nginx">events { worker_connections 1024; }</code>
      ログイン後にコピー
  3. キャッシュを有効にする:

    • Nginxのキャッシュ機能を使用して、バックエンドサーバーの負荷を減らします。応答時間の監視は、キャッシュが最も効果的である場所を判断するのに役立ちます。
    • 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>
      ログイン後にコピー
  4. 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>
      ログイン後にコピー
  5. 負荷分散を使用します:

    • 監視データに高いサーバーの負荷が示されている場合は、複数のサーバーで負荷分散を実装してトラフィックを均等に配布することを検討してください。
  6. バッファのサイズを監視および調整します:

    • 監視データに基づいて、 proxy_buffer_sizeproxy_buffersなどのバッファサイズを調整して、大規模なファイル転送または高トラフィックサイトのパフォーマンスを最適化します。

       <code class="nginx">proxy_buffer_size 128k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k;</code>
      ログイン後にコピー
  7. nginxを更新してください:

    • パフォーマンスの改善とセキュリティパッチの恩恵を受けるように、Nginxを定期的に更新します。監視ログは、ポストアップデートが発生する可能性のある問題を特定するのに役立ちます。

これらのベストプラクティスに従い、Nginxサーバーを継続的に監視することにより、そのパフォーマンスを最適化し、さまざまな負荷で効率的に実行することを確認できます。

以上がNGINXのパフォーマンスとリソースの使用を監視するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート