Hello!
On Thu, Dec 23, 2010 at 03:44:53PM +0500, No Reply wrote:
> Счётчики, накапливающие цифры, хранятся в структурах, которые, насколько я
> понял после изучения исходников сервера, хранят изначальную конфигурацию
> nginx'а и не являются локальными для того или иного воркера. По мере
Нет. (c) Farid Vagapov
Конфигурация - создаётся в мастер-процессе, и поэтому каждый
рабочий процесс имеет её копию (ибо рабочие процесс - результат
fork()'а мастера). Однако любое её изменение из рабочего процесса
будет локально для этого рабочего процесса.
> поступления запросов на апстримы эти счетчики инкрементируются. Кроме того,
> если Ваш тезис верен, то в статистике по нашим серверам мы должны были бы
> видеть рандомные показатели каждый раз, когда делаем запрос к модулю. Однако
> мы такого не наблюдаем - рост показателей вполне адекватный и ожидаемый.
Есть более одного способа некорректного тестирования.
В данном случае - наиболее вероятно использование keepalive
(соединения устанавливается с рабочим процессом, и пока оно будет
закрыто по таймауту - все запросы в этом соединении будут
обрабатываться одним и тем же рабочим процессом).
Кроме того, если nginx с несколькими рабочими процессами мало
нагружен и используется accept_mutex (по умолчанию), то с высокой
вероятностью запросы будут обрабатываться одним и тем же рабочим
процессом.
Maxim Dounin
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru