Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pemantauan prestasi dan penyelesaian pengimbangan beban Nginx yang membimbangkan automatik

Pemantauan prestasi dan penyelesaian pengimbangan beban Nginx yang membimbangkan automatik

WBOY
WBOYasal
2023-10-15 14:47:03681semak imbas

Pemantauan prestasi dan penyelesaian pengimbangan beban Nginx yang membimbangkan automatik

Pemantauan prestasi dan penyelesaian pengimbangan beban Nginx secara automatik yang membimbangkan

Pengenalan:
Dengan pengembangan berterusan skala aplikasi Internet, kepentingan pengimbangan beban dalam seni bina rangkaian telah menjadi semakin menonjol. Sebagai pelayan web berprestasi tinggi dan pelayan proksi terbalik, Nginx digunakan secara meluas dalam laman web dan aplikasi semua saiz dan mempunyai keupayaan pengimbangan beban yang sangat baik. Untuk memastikan operasi strategi pengimbangan beban yang berkesan dan meningkatkan ketersediaan serta prestasi aplikasi, kami perlu memantau prestasi Nginx dan mengeluarkan penggera automatik tepat pada masanya. Artikel ini akan memperkenalkan cara melaksanakan pemantauan prestasi dan penggera automatik bagi penyelesaian pengimbangan beban Nginx melalui contoh kod.

1. Pemantauan Prestasi
Kami boleh menilai prestasi Nginx dengan memantau penunjuk utamanya. Dalam Nginx, kami memberi tumpuan terutamanya kepada penunjuk berikut:

1.1 Bilangan sambungan serentak
Bilangan sambungan serentak merujuk kepada bilangan sambungan yang diwujudkan dengan Nginx pada masa yang sama. Bilangan sambungan serentak yang tinggi boleh menyebabkan beban berlebihan pada Nginx dan menjejaskan prestasinya. Dengan memantau bilangan sambungan serentak, kami boleh menemui dan menyelesaikan masalah prestasi yang berpotensi tepat pada masanya.

1.2 Masa respons permintaan
Masa respons permintaan merujuk kepada masa yang diambil oleh pelanggan untuk menghantar permintaan kepada pelayan untuk mengembalikan respons. Masa tindak balas yang lama mungkin bermakna prestasi Nginx yang perlahan atau masalah dengan pelayan bahagian belakang. Dengan memantau masa respons permintaan, kami boleh mengesan dan menyelesaikan isu prestasi tepat pada masanya.

1.3 Penggunaan Lebar Jalur
Penggunaan lebar jalur merujuk kepada bahagian lebar jalur yang digunakan oleh pelayan kepada jumlah lebar jalur. Penggunaan lebar jalur yang tinggi boleh menyebabkan kesesakan rangkaian dan mengurangkan kelajuan penghantaran rangkaian. Dengan memantau penggunaan lebar jalur, kami boleh melaraskan strategi pengimbangan beban tepat pada masanya dan meningkatkan kecekapan penghantaran rangkaian.

2. Penggera automatik
Untuk penunjuk pemantauan prestasi Nginx, kami boleh mencapai pemantauan masa nyata dan membimbangkan melalui sistem penggera automatik. Sistem penggera automatik boleh menghantar pemberitahuan penggera dengan segera kepada kakitangan yang berkaitan berdasarkan ambang yang telah ditetapkan apabila penunjuk prestasi melebihi ambang yang ditetapkan.

Di sini, kami memilih untuk menggunakan Prometheus dan Grafana sebagai alat pemantauan dan penggera prestasi Nginx.

2.1 Prometheus
Prometheus ialah alat pemantauan dan amaran sumber terbuka yang boleh mengumpul, menyimpan dan menanyakan pelbagai jenis data siri masa. Kami boleh memantau penunjuk prestasi Nginx dengan memasang dan mengkonfigurasi Prometheus.

Pertama, kita perlu memasang pengeksport Prometheus pada pelayan Nginx untuk mendedahkan penunjuk prestasi Nginx kepada Prometheus.

git clone https://github.com/nginxinc/nginx-prometheus-exporter.git
cd nginx-prometheus-exporter
make
./nginx-prometheus-exporter

Seterusnya, ubah suai fail konfigurasi Nginx dan tambah kandungan berikut:

server {
    ...
    location /metrics {
        stub_status on;
        access_log off;
    }
}

Dengan mengakses http://localhost/metrics, kita dapat melihat bahawa penunjuk prestasi Nginx telah terdedah kepada Prometheus.

2.2 Grafana
Grafana ialah alat visualisasi dan pemantauan data sumber terbuka yang boleh menggambarkan data prestasi dengan memaparkan data Prometheus dalam carta.
Kita perlu memasang Grafana pada pelayan Nginx dan mengaitkannya dengan Prometheus.

Pertama, kita perlu menambah sumber data Prometheus dalam Grafana. Masukkan antara muka pengurusan Grafana, klik "Konfigurasi"-> "Sumber Data"-> "Tambah sumber data", dan isikan alamat Prometheus dan maklumat lain.

Seterusnya, kita boleh memaparkan penunjuk prestasi Prometheus dalam Grafana dengan mencipta Papan Pemuka.
Klik "Buat"-> "Papan Pemuka"-> "Tambah panel baharu"-> gaya carta dan Ambang, dan akhirnya simpan Papan Pemuka.

3. Pelaksanaan penggera automatik
Dalam Grafana, kami boleh menambah peraturan penggera dan menetapkan syarat untuk mencetuskan penggera. Setelah penunjuk prestasi melebihi ambang yang ditetapkan, Grafana akan menghantar pemberitahuan penggera secara automatik.

Klik "Konfigurasi"-> "Makluman"-> akhirnya simpan peraturan penggera.

Melalui langkah di atas, kami telah mencapai pemantauan prestasi dan penggera automatik untuk penyelesaian pengimbangan beban Nginx. Melalui Prometheus dan Grafana, kami boleh memantau penunjuk prestasi Nginx dalam masa nyata dan mengeluarkan pemberitahuan penggera pada masanya apabila masalah prestasi berlaku untuk memastikan ketersediaan dan prestasi sistem.

Ringkasan:
Pemantauan prestasi dan penggera automatik bagi penyelesaian pengimbangan beban Nginx adalah cara penting untuk memastikan kestabilan dan prestasi sistem. Dengan memantau metrik utama dan menetapkan penggera automatik, kami boleh mengenal pasti dan menyelesaikan isu prestasi yang berpotensi tepat pada masanya. Pada masa yang sama, melalui visualisasi data dan pemberitahuan penggera, kami secara intuitif dapat memahami status prestasi sistem dan mengambil langkah yang sesuai tepat pada masanya apabila masalah prestasi berlaku. Kami berharap pengenalan dan contoh kod artikel ini dapat membantu pembaca melaksanakan pemantauan prestasi dan penggera automatik dengan lebih baik untuk penyelesaian pengimbangan beban Nginx.

Atas ialah kandungan terperinci Pemantauan prestasi dan penyelesaian pengimbangan beban Nginx yang membimbangkan automatik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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