Nginx load balancing performance testing and tuning practice
Ikhtisar:
Nginx sebagai Pelayan songsang berprestasi tinggi, sering menggunakan proksi songsang dalam senario aplikasi pengimbangan beban. Artikel ini akan memperkenalkan cara melakukan ujian prestasi pengimbangan beban Nginx dan meningkatkan prestasinya melalui amalan penalaan.
- Persediaan ujian prestasi:
Sebelum menjalankan ujian prestasi, kami perlu menyediakan satu atau lebih pelayan dengan prestasi yang baik, memasang Nginx dan mengkonfigurasi proksi terbalik dan Pengimbangan beban.
- Pemilihan alat ujian:
Untuk mensimulasikan keadaan beban sebenar, kami boleh menggunakan alatan ujian prestasi biasa untuk ujian, seperti ApacheBench, JMeter, dsb. Artikel ini mengambil ApacheBench sebagai contoh.
- Langkah ujian prestasi:
3.1 Konfigurasikan pengimbangan beban:
Dalam fail konfigurasi Nginx, kami boleh menggunakan arahan huluan untuk menentukan alamat dan berat pelayan bahagian belakang. Ambil strategi pengimbangan beban undian mudah sebagai contoh, seperti yang ditunjukkan di bawah:
http {
upstream backend {
server backend1.example.com weight=1;
server backend2.example.com weight=2;
}
server {
listen 80;
location / {
proxy_pass http://backend;
}
}
}
Salin selepas log masuk
3.2 Perintah ujian prestasi:
Gunakan ApacheBench untuk ujian prestasi, anda boleh melaksanakan arahan berikut: #🎜 🎜#
ab -n 10000 -c 100 http://localhost/
Salin selepas log masuk
Antaranya, "-n" mewakili bilangan permintaan, "-c" mewakili bilangan permintaan serentak dan "http://localhost/" ialah alamat URL ujian.
Tafsiran parameter penting: - Apabila menjalankan ujian prestasi, kita perlu memberi perhatian kepada parameter penting berikut:
4.1 Nombor konkurensi Permintaan:
Bilangan konkurensi mewakili bilangan permintaan yang dihantar ke pelayan pada masa yang sama Semasa proses ujian, tingkatkan bilangan konkurensi secara beransur-ansur, perhatikan perubahan dalam masa tindak balas dan tentukan kapasiti beban. pelayan.
4.2 Bilangan permintaan:
Bilangan permintaan mewakili jumlah permintaan dalam ujian Menurut tetapan senario sebenar, anda boleh melaraskan parameter ini untuk memerhati prestasi pelayan di bawah beban yang berbeza.
4.3 Masa respons:
Masa respons ialah penunjuk penting untuk mengukur prestasi pelayan Masa respons yang lebih kecil mewakili prestasi yang lebih baik.
Amalan penalaan prestasi: - Selepas menjalankan ujian prestasi, kami boleh mengambil beberapa langkah penalaan untuk meningkatkan prestasi pengimbangan beban Nginx:
#🎜 🎜#5.1 Laraskan worker_processes:
Dalam fail konfigurasi Nginx, worker_processes mewakili bilangan proses pekerja, yang boleh dilaraskan mengikut bilangan teras CPU pelayan. Biasanya, tetapkan worker_processes kepada 2 kali ganda bilangan teras CPU.
5.2 Laraskan sambungan_pekerja:
sambungan_pekerja menunjukkan bilangan maksimum sambungan yang boleh dikendalikan oleh setiap proses pekerja secara serentak, yang boleh dilaraskan mengikut keadaan sumber sistem. Sambungan_pekerja yang terlalu kecil akan menyebabkan sambungan ditutup lebih awal, dan sambungan_pekerja yang terlalu besar boleh menyebabkan pembaziran sumber sistem. Anda boleh melihat status sambungan sistem melalui alat pemantauan (seperti htop) dan melaraskan parameter ini secara beransur-ansur.
5.3 Gunakan HTTP Keep-Alive:
Mendayakan HTTP Keep-Alive boleh menggunakan semula sambungan TCP antara klien dan pelayan, mengurangkan penubuhan sambungan dan menutup overhed serta meningkatkan prestasi.
5.4 Laraskan parameter cache:
Dalam fail konfigurasi Nginx, anda boleh mengoptimumkan strategi cache dan meningkatkan prestasi pengimbangan beban dengan melaraskan parameter seperti proxy_buffer_size dan proxy_buffers.
Ringkasan:
Artikel ini memperkenalkan ujian prestasi dan amalan penalaan pengimbangan beban Nginx. Melalui ujian prestasi, kami dapat memahami prestasi pelayan di bawah beban yang berbeza dan meningkatkan prestasi Nginx melalui langkah penalaan. Dalam aplikasi praktikal, berbilang pelayan Nginx juga boleh dibina ke dalam kluster untuk menyediakan daya pemprosesan yang lebih tinggi dan kebolehskalaan yang lebih baik. Saya harap artikel ini dapat membantu pembaca dalam pembelajaran dan amalan mengimbangi beban Nginx.
Atas ialah kandungan terperinci Ujian prestasi mengimbangi beban Nginx dan amalan penalaan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!