Re: Ограничение на число одновременных соединений, но с постановкой лишних в очередь
Олег Петрачёв
cronfy на gmail.com
Вс Ноя 29 17:38:00 MSK 2009
> Олег, вы оба сейчас примерно одно и тоже обсуждаете. Это всё отголоски
> вот этого: http://habrahabr.ru/blogs/hosting/75386/ (там в
> комментариях понятно откуда изначальный вопрос Дмитрия).
> Поскольку я с вами по отдельности поговорил, я сейчас испытываю
> диссонанс в голове ;)
> Сам изначальный вопрос кратко звучит так - а можно было ли обойтись
> средствами одного апача.
Короткий ответ - нет.
mpm_peruser делает *нечто* подобное. Но суть в том, что очередь всё
равно одна на весь апач. Просто peruser умеет через некоторое время
(10 секунд по умолчанию, уменьшается при постоянной загрузке хоста до
0) сбрасывать соединения для зависших виртуальных хостов и тем самым
давать доступ к остальным. В peruser очередь организуется уже не через
ListenBackLog, а через количество "мультиплексеров", то есть каждый
запрос, ждущий в очереди, уже занимает отдельный процесс. В общем,
проблему это решает плохо - всё равно случаются затыки всего
веб-сервера,и всё равно посетители слишком быстро начинают видеть
503.
Кроме того, peruser не особенно стабилен.
Другие модули (mpm-itk, mod_cband) вообще дают 503 сразу при
заполнении обработчиков. Средне загруженный сервер + сайт с 20
картинками на главной странице - и 503 вообще становится нормальным
явлением :(
--
// cronfy
Подробная информация о списке рассылки nginx-ru