Mengapa 'multi_accept' 'off' sebagai default di Nginx?


17

Saya menemukan 'multi_accept' adalah 'off' sebagai default di Nginx sebagai berikut:

multi_accept

Jawaban:


13

Mungkin karena dengan on, semua proses pekerja aktif dan mencoba untuk menangani semua permintaan yang masuk secara bersamaan. Ketika dinonaktifkan, Nginx memutuskan proses anak mana yang akan menangani permintaan satu per satu. Karena Nginx sangat efisien dalam hal ini, ini mungkin melayani kebanyakan orang dengan baik. Beberapa menganggap itu risiko untuk mengaktifkannya, karena dapat membanjiri koneksi pekerja dengan permintaan. Pengaturan TCP Anda di level OS kemungkinan juga akan berperan dalam hal ini.


3
Saya memiliki situasi yang tepat. Saya telah mencoba mencari tahu apa yang dilakukan perintah pekerja_rlimit_nofile, pekerja_connections dan pekerja_proses. Nginx adalah proksi terbalik untuk aplikasi yang menerima soket web. Konfigurasi Nginx memungkinkan 50 koneksi untuk setiap pekerja. Ketika saya memiliki dua pekerja (oleh karena itu 100 koneksi harus dibuat) dan multi_accept aktif saya mendapatkan kesalahan bahwa soket web tidak dapat dibuat (pekerja yang sudah memiliki 50 koneksi mencobanya ...). Ketika multi_accept tidak aktif semuanya berfungsi dengan sempurna.
Hamburml
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.