Rumah > Operasi dan penyelenggaraan > Nginx > Bagaimana saya memantau prestasi dan penggunaan sumber nginx?

Bagaimana saya memantau prestasi dan penggunaan sumber nginx?

James Robert Taylor
Lepaskan: 2025-03-17 17:08:32
asal
126 orang telah melayarinya

Bagaimana saya memantau prestasi dan penggunaan sumber nginx?

Pemantauan prestasi dan penggunaan sumber nginx adalah penting untuk mengekalkan kesihatan dan kecekapan pelayan web anda. Inilah cara anda dapat mencapai pemantauan yang komprehensif:

  1. Halaman status nginx:

    • NGINX menyediakan halaman status terbina dalam yang dapat memberi anda gambaran keseluruhan sambungan semasa, sambungan aktif, dan permintaan sesaat. Untuk membolehkan ini, anda perlu mengkonfigurasi fail nginx.conf untuk memasukkan ngx_http_stub_status_module . Inilah cara anda melakukannya:

       <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>
      Salin selepas log masuk
    • Selepas mengkonfigurasi, anda boleh mengakses status ini dengan melawat http://yourserver/nginx_status .
  2. Pemantauan peringkat sistem:

    • Gunakan alat pemantauan sistem seperti top , htop , atau mpstat untuk menyemak keseluruhan CPU dan penggunaan memori. Alat ini memberikan pandangan masa nyata tentang bagaimana NGINX menggunakan sumber sistem.
    • Untuk cakera I/O, gunakan iostat untuk memantau operasi membaca/menulis, yang boleh memberi kesan kepada prestasi Nginx, terutamanya jika pelayan anda mengendalikan banyak kandungan statik.
  3. Analisis log:

    • Menganalisis akses dan log ralat Nginx boleh membantu mengenal pasti kesesakan prestasi. Alat seperti goaccess boleh menghuraikan log ini dan statistik semasa seperti bilangan permintaan, jalur lebar, dan URL yang dikunjungi atas.
  4. Alat pemantauan pihak ketiga:

    • Alat seperti Prometheus dan Grafana boleh digunakan untuk membuat papan pemuka yang memberi anda pandangan terperinci tentang prestasi Nginx. Alat ini boleh mengikis halaman status nginx dan metrik lain dan membentangkannya dalam format yang mudah difahami.

Alat apa yang boleh saya gunakan untuk mengesan beban pelayan Nginx dan masa tindak balas?

Untuk mengesan beban pelayan Nginx dan masa tindak balas, beberapa alat boleh digunakan, masing -masing menawarkan keupayaan dan tahap terperinci yang berbeza:

  1. Modul Status Nginx:

    • Seperti yang dinyatakan sebelum ini, modul terbina dalam ini dapat menyediakan statistik beban asas seperti sambungan aktif, permintaan sesaat, dan keadaan sambungan.
  2. Prometheus dan Grafana:

    • Prometheus boleh mengikis metrik dari halaman status nginx dan sumber lain. Apabila digabungkan dengan Grafana, anda mendapat visualisasi yang kuat dan memaklumkan keupayaan. Anda boleh memantau masa tindak balas, beban pelayan, dan metrik lain dari masa ke masa.
  3. Peninggalan Baru:

    • New Relic menawarkan penyelesaian pemantauan yang komprehensif, termasuk pemantauan Nginx tertentu. Ia menjejaki masa tindak balas, throughput, dan kesilapan, membantu anda memahami bagaimana pelayan Nginx anda berfungsi di bawah beban yang berbeza.
  4. Datadog:

    • Datadog menyediakan metrik nginx terperinci dan boleh membantu mengesan beban pelayan, masa tindak balas, dan petunjuk prestasi utama yang lain. Ia juga menyokong analisis data yang menyedarkan dan sejarah.
  5. GoAccess:

    • GoAccess boleh menganalisis log Nginx secara real-time untuk memberikan gambaran mengenai beban pelayan dan masa tindak balas. Ia ringan dan boleh dijalankan secara langsung di pelayan.

Bagaimanakah saya boleh menyediakan pemantauan masa nyata untuk CPU NGINX dan penggunaan memori?

Menyediakan pemantauan masa nyata untuk CPU nginx dan penggunaan memori boleh dilakukan melalui langkah-langkah berikut:

  1. Pasang ejen pemantauan:

    • Pasang ejen seperti pengeksport nod untuk Prometheus. Pengeksport Node berjalan pada pelayan NGINX dan mendedahkan metrik mengenai CPU dan penggunaan memori yang boleh dikikis oleh Prometheus.
  2. Konfigurasikan Prometheus:

    • Sediakan prometheus untuk mengikis metrik dari pengeksport nod. Anda perlu membuat fail konfigurasi prometheus.yml dan memasukkan pekerjaan yang diperlukan untuk mengikis dari pengeksport nod:

       <code class="yaml">scrape_configs: - job_name: 'nginx' static_configs: - targets: ['localhost:9100'] # Assuming Node Exporter is running on port 9100</code>
      Salin selepas log masuk
  3. Sediakan Grafana:

    • Gunakan Grafana untuk membuat papan pemuka yang menggambarkan data yang dikumpulkan oleh Prometheus. Anda boleh menambah Prometheus sebagai sumber data dan reka bentuk panel tersuai untuk menunjukkan CPU masa nyata dan penggunaan memori untuk pelayan NGINX anda.
  4. Makluman masa nyata:

    • Konfigurasikan peraturan memberi amaran di Prometheus untuk menghantar pemberitahuan apabila CPU atau penggunaan memori melebihi ambang yang telah ditetapkan. Makluman ini boleh diintegrasikan dengan perkhidmatan pemberitahuan seperti Slack atau PagerDuty.

Apakah amalan terbaik untuk mengoptimumkan prestasi nginx berdasarkan data pemantauan?

Berdasarkan data pemantauan, berikut adalah beberapa amalan terbaik untuk mengoptimumkan prestasi nginx:

  1. Proses Pekerja Tune:

    • Laraskan bilangan proses pekerja mengikut teras CPU pelayan anda. Anda boleh menetapkan ini di nginx.conf :

       <code class="nginx">worker_processes auto;</code>
      Salin selepas log masuk
    • Pemantauan penggunaan CPU boleh membantu anda menentukan sama ada anda perlu meningkatkan atau mengurangkan bilangan pekerja.
  2. Mengoptimumkan Pengendalian Sambungan:

    • Pantau bilangan sambungan aktif dan laraskan worker_connections dengan sewajarnya. Ini dapat membantu mengendalikan lebih banyak sambungan serentak dengan cekap:

       <code class="nginx">events { worker_connections 1024; }</code>
      Salin selepas log masuk
  3. Dayakan caching:

    • Gunakan keupayaan caching Nginx untuk mengurangkan beban pada pelayan backend anda. Masa tindak balas pemantauan boleh membantu menentukan di mana caching akan menjadi yang paling berkesan.
    • Konfigurasikan caching di 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>
      Salin selepas log masuk
  4. Mampatan gzip:

    • Dayakan pemampatan GZIP untuk mengurangkan jumlah data yang dipindahkan ke atas rangkaian. Pantau jalur lebar dan masa tindak balas untuk melihat manfaatnya:

       <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>
      Salin selepas log masuk
  5. Gunakan pengimbangan beban:

    • Jika data pemantauan anda menunjukkan beban pelayan yang tinggi, pertimbangkan untuk melaksanakan pengimbangan beban di beberapa pelayan untuk mengedarkan trafik secara merata.
  6. Memantau dan menyesuaikan saiz penampan:

    • Berdasarkan data pemantauan anda, laraskan saiz penampan seperti proxy_buffer_size dan proxy_buffers untuk mengoptimumkan prestasi untuk pemindahan fail besar atau tapak lalu lintas tinggi:

       <code class="nginx">proxy_buffer_size 128k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k;</code>
      Salin selepas log masuk
  7. Pastikan nginx dikemas kini:

    • Kerap mengemas kini Nginx untuk mendapat manfaat daripada penambahbaikan prestasi dan patch keselamatan. Pemantauan log boleh membantu anda mengenal pasti sebarang isu yang mungkin timbul pasca-update.

Dengan mengikuti amalan terbaik ini dan terus memantau pelayan Nginx anda, anda boleh mengoptimumkan prestasinya dan memastikan ia berjalan dengan cekap di bawah beban yang berbeza -beza.

Atas ialah kandungan terperinci Bagaimana saya memantau prestasi dan penggunaan sumber nginx?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan