Re: Nginx и потоки

neon nginx-forum на forum.nginx.org
Ср Мар 9 13:28:20 UTC 2022


Если совсем на пальцах, то работает как-то так:
1. главный процесс создает слушающий сокет
2. главный процесс спавнит столько дочерних процессов, сколько указано в
конфиге
3. каждый дочерний процесс путем опроса слушающего сокета через
select\poll\epoll\kqueue получает соединение с клиентом(эта операция
безопасна для доступа из нескольких процессов) и дальше с этим соединением
работает исключительно этот процесс(в один тред) через те же
select\epoll\kqueue

Ведь если убрать всю сложную логику обработки запроса, то все, что делает
nginx - это пересылает байтики из одного сокета в другой. Тут
многотредовость не нужна - более чем достаточно вот такого разбиения на
несколько воркеров.

Posted at Nginx Forum: https://forum.nginx.org/read.php?21,292726,293815#msg-293815



Подробная информация о списке рассылки nginx-ru