Rumah >Operasi dan penyelenggaraan >Nginx >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:
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>
http://yourserver/nginx_status
.Pemantauan peringkat sistem:
top
, htop
, atau mpstat
untuk menyemak keseluruhan CPU dan penggunaan memori. Alat ini memberikan pandangan masa nyata tentang bagaimana NGINX menggunakan sumber sistem.iostat
untuk memantau operasi membaca/menulis, yang boleh memberi kesan kepada prestasi Nginx, terutamanya jika pelayan anda mengendalikan banyak kandungan statik.Analisis log:
goaccess
boleh menghuraikan log ini dan statistik semasa seperti bilangan permintaan, jalur lebar, dan URL yang dikunjungi atas.Alat pemantauan pihak ketiga:
Untuk mengesan beban pelayan Nginx dan masa tindak balas, beberapa alat boleh digunakan, masing -masing menawarkan keupayaan dan tahap terperinci yang berbeza:
Modul Status Nginx:
Prometheus dan Grafana:
Peninggalan Baru:
Datadog:
GoAccess:
Menyediakan pemantauan masa nyata untuk CPU nginx dan penggunaan memori boleh dilakukan melalui langkah-langkah berikut:
Pasang ejen pemantauan:
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>
Sediakan Grafana:
Makluman masa nyata:
Berdasarkan data pemantauan, berikut adalah beberapa amalan terbaik untuk mengoptimumkan prestasi nginx:
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>
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>
Dayakan caching:
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>
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>
Gunakan pengimbangan beban:
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>
Pastikan nginx dikemas kini:
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!