Трекинг текущих коннектов

Igor Sysoev is at rambler-co.ru
Thu Jan 11 20:55:56 MSK 2007


On Thu, 11 Jan 2007, Igor Savchenko wrote:

> Hello Andrew,
>
>> В случае, если у вас всё же десятки тысяч соединений с сервером, такая
>> конструкция врядли будет работать - потому что, как написано Игорем на
>> http://sysoev.ru/nginx/docs/http/ngx_http_perl_module.html#bugs :
>
>> Если perl'овый модуль выполняет длительную операцию, например, определяет
>> адрес по имени, соединяется с другим сервером, делает запрос к базе
>> данных, то на это время все остальные запросы данного рабочего процесса не
>> будут обрабатываться.
>
> У меня на одном сервисе около пары сотен коннектов в секунду и при каждом
> nginx делает кучу операций в базе данных, причем не на локалхосте.. и
> это все работает очень стабильно вот уже четвертый месяц.. так, что
> такие выводы весьма субъективные и зависят от многих факторов.
>
>> Вариант от Alexey Polyakov - X-Accel-Redirect + post_action -
>> мне кажется более жизнеспособным. Потому что общением с БД будет
>> заниматься другой процесс.
>
> Реализовал идею с perl_set. Все отлично получилось. То что надо!
>
> Всем огромное спасибо, проблемму считаю решенной!

Если перл при обработке perl_set ходит в базу, то в на всё время хождения
данный рабочий процесс nginx'а не обрабатывает другие соединения.
Именно это и называется "длительной операцей".


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list