Re: модуль статистики для nginx

Maxim Dounin mdounin на mdounin.ru
Чт Дек 23 15:53:06 MSK 2010


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