Nginx'te neden 'multi_accept' 'varsayılan olarak kullanılıyor?


Yanıtlar:


13

Muhtemelen açıkken, tüm çalışan süreçler aktiftir ve gelen tüm istekleri aynı anda ele almaya çalışır. Devre dışı bırakıldığında, Nginx, hangi alt işlemin isteği tek tek ele alacağına karar verir. Nginx bu konuda çok verimli olduğundan, bu muhtemelen çoğu insana iyi hizmet eder. Bazıları, çalışan bağlantılarını isteklerle doldurabileceğinden, bunu etkinleştirmenin bir risk olduğunu düşünür. İşletim sistemi düzeyindeki TCP ayarlarınız da bunun bir parçası olacaktır.


3
Kesin durum vardı. Ben worker_rlimit_nofile, worker_connections ve worker_processes otomatik komutlarının ne yaptığını bulmaya çalışmıştım. Nginx, web soketlerini kabul eden bir uygulama için ters proxy'dir. Nginx config her çalışan için 50 bağlantıya izin verir. İki işçim olduğunda (bu nedenle 100 bağlantı kurulmalıdır) ve multi_accept açık olduğunda web soketlerinin oluşturulamayacağı bir hata alıyorum (zaten 50 bağlantısı olan işçi bunu dener ...). Multi_accept kapalı olduğunda her şey mükemmel çalışır.
Hamburml
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.