Mengoptimumkan prestasi rangkaian pengimbangan beban Nginx
Pengenalan:
Nginx telah menjadi pelayan proksi terbalik sumber terbuka yang sangat popular Ia mempunyai prestasi cemerlang apabila mengendalikan permintaan serentak yang tinggi. Untuk mengoptimumkan lagi prestasi rangkaian pengimbangan beban Nginx, artikel ini akan memperkenalkan beberapa contoh kod dan teknik konfigurasi khusus.
1. Konfigurasikan keepalive
Tambahkan kod berikut pada fail konfigurasi Nginx:
http { keepalive_timeout 65; keepalive_requests 100000; proxy_http_version 1.1; proxy_set_header Connection ""; }
Konfigurasi ini akan mengekalkan sambungan yang panjang antara pelayan bahagian belakang dan Nginx, jadi bahawa Tidak ada keperluan untuk mewujudkan semula sambungan untuk setiap permintaan, yang mengurangkan overhed jabat tangan TCP dan meningkatkan prestasi.
2. Gunakan caching
Tambah kod berikut pada fail konfigurasi Nginx:
http { proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m; proxy_temp_path /path/to/temp; proxy_cache_key $scheme$proxy_host$request_uri; server { location / { proxy_cache my_cache; proxy_cache_valid 200 302 10m; proxy_cache_valid 404 1m; proxy_cache_use_stale error timeout http_502; proxy_pass http://backend; } } }
Konfigurasi ini membolehkan fungsi caching Nginx dan menyimpan tindak balas belakang -end server Pada cakera tempatan, permintaan yang sama boleh diperolehi terus daripada cache pada masa akan datang, mengurangkan akses kepada pelayan back-end dan meningkatkan prestasi.
3 Gunakan algoritma pengimbangan beban
Tambahkan kod berikut pada fail konfigurasi Nginx:
http { upstream backend { least_conn; server backend1.example.com; server backend2.example.com; server backend3.example.com; } server { location / { proxy_pass http://backend; } } }
Konfigurasi ini mengedarkan permintaan kepada berbilang pelayan bahagian belakang, menggunakan The least_conn algoritma melaksanakan pengimbangan beban dan memilih permintaan pemajuan berdasarkan bilangan sambungan ke pelayan, menjadikan beban setiap pelayan lebih seimbang dan meningkatkan prestasi.
4. Optimumkan tetapan TCP/IP
Dalam parameter kernel sistem pengendalian, mengoptimumkan TCP/IP boleh meningkatkan prestasi rangkaian pengimbangan beban Nginx. Parameter berikut boleh ditetapkan dengan mengubah suai fail /etc/sysctl.conf:
net.core.somaxconn = 65535 net.ipv4.ip_local_port_range = 1024 65535 net.ipv4.tcp_fin_timeout = 15 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_max_syn_backlog = 65536
Maksud dan fungsi parameter ini boleh dirujuk kepada dokumen yang berkaitan Dengan melaraskan parameter ini, prestasi TCP /Timbunan protokol IP boleh dipertingkatkan, dengan itu Meningkatkan prestasi rangkaian pengimbangan beban Nginx.
Kesimpulan:
Melalui konfigurasi dan pengoptimuman di atas, prestasi rangkaian pengimbangan beban Nginx boleh dipertingkatkan lagi. Sudah tentu, konfigurasi dan pengoptimuman khusus perlu diselaraskan mengikut situasi sebenar, dan alat pemantauan boleh digunakan untuk ujian dan pengoptimuman prestasi. Hanya dengan mempertimbangkan secara menyeluruh semua aspek konfigurasi perkakasan, rangkaian dan perisian anda boleh memperoleh prestasi pengimbangan beban Nginx yang terbaik. Saya berharap kandungan artikel ini dapat membantu pembaca.
Atas ialah kandungan terperinci Optimumkan prestasi rangkaian pengimbangan beban Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!