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

Andrew Kopeyko kaa at zvuki.ru
Thu Jan 11 23:26:51 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 делает кучу операций в базе данных, причем не на локалхосте.. и
> это все работает очень стабильно вот уже четвертый месяц.. так, что
> такие выводы весьма субъективные и зависят от многих факторов.

Да, мои рассуждения исключительно субъективные - патамучта таких 
конструкций, как ваша, своими руками не строил. Не было необходимости.

Но строил много разных других при участии и\или консультациях Игоря 
Сысоева - и потому его словам\сомнениям\советам верю, как говорится, "как 
самому себе". И если он говорит что здесь есть такие-то и такие-то 
"грабли" - значит, наступания на них следует избегать изначально. И уж 
только если без этого ну никак не обойтись - тогда да, надеваем каску и 
пробуем силу удара.


Я рад, что в вашем случае perl-хэндлеры успешно ковыряются в БД, но, 
скажите - знаете ли вы пределы нагрузочной способности этого вашего 
решения?? 200 accesses/sec - для nginx это не такая уж и большая нагрузка.

Если не затруднит вас - проведите, пожалуйста, стресс-тест. Думаю, всем 
нам будет интересно, и полезно, обсудить с вами методику и результаты.


> Реализовал идею с perl_set. Все отлично получилось. То что надо!
>
> Всем огромное спасибо, проблемму считаю решенной!

Отлично!

>

-- 
Best regards,
Andrew Kopeyko <kaa at zvuki.ru>
http://www.zvuki.ru/ sysadmin






More information about the nginx-ru mailing list