Чому в Nginx "multi_accept" "вимкнено" за замовчуванням?


Відповіді:


13

Можливо, тому що увімкнено, всі робочі процеси активні і намагаються одночасно обробляти всі вхідні запити. Якщо він відключений, Nginx вирішує, який дочірній процес по черзі вирішує запит. Оскільки Nginx в цьому дуже ефективний, це, мабуть, добре допомагає більшості людей. Деякі вважають це ризиком включити його, оскільки це може затопити зв'язки працівників із запитами. Ваші налаштування TCP на рівні ОС, ймовірно, також будуть грати певну роль у цьому.


3
У мене була точна ситуація. Я намагався з’ясувати, що виконують автоматичні команди Working_rlimit_nofile, worker_connections та Auto_proces. Nginx - це зворотний проксі для програми, яка приймає веб-розетки. Конфігурація Nginx дозволяє 50 підключень для кожного працівника. Коли у мене є два працівники (тому слід встановити 100 підключень) і ввімкнено функцію multi_accept, я отримую помилку, що веб-розетки неможливо створити (працівник, у якого вже є 50 підключень, намагається це зробити ...). Якщо вимкнено функцію multi_accept, все працює чудово.
Гамбург мл
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.