multi_accept on; # Будет принимать максимально возможное количество соединений
Казалось бы, очевидно, что это значение всегда должно быть
on, иначе явное снижение производительности. Однако по-дефолту это
off.
Здесь указывается, что
Probably because with on, all the worker processes are active and try to handle all of the incoming request simultaneously. When disabled, Nginx decides which child process gets to deal with the request one by one. As Nginx is very efficient at this, this probably serves most people well. Some consider it a risk to enable it, as it may flood the worker connections with requests. Your TCP settings at OS level will likely play a part in this too.
т.е., если я правильно понял, nginx в случае off очень эффективно распределяет новые соединения между дочерними процессами. В противном случае сразу все процессы пытаются обработать сразу все подключения? Это как?
И в
блоге nginx рекомендуют оставлять значение по-умолчанию (off), без подробностей (мол, сами тестируйте и уже думайте).
Поиск конкретных отличий между multi_accept on и off ни к чему не привёл. Кроме статей, где настоятельно рекомендуют ставить on, потому что это "круто".
Как стоит поступить на многоядерной системе Debian 11 x64?
Говоря простым языком, на сайте может быть онлайн более одного человека при multi_accept off?