Bug 5748

Summary: Надо прописывать ulimits при установке
Product: Sisyphus Reporter: Michael Bochkaryov <misha>
Component: apacheAssignee: Michael Shigorin <mike>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P2 CC: at, cas, crux, ender, lakostis, ldv, mike, mithraen, qa_viy, rider, shaba, solo, viy
Version: unstable   
Hardware: all   
OS: Linux   

Description Michael Bochkaryov 2004-12-20 16:11:38 MSK
При установке системы ограничение на количество пользовательских процессов равно
128, чего явно не хватает при использовании на загруженных веб-серверах.

Предположительно, стоит прописывать параметр в /etc/security/limits.conf для
юзера apache при установке. 
Steps to Reproduce:
1. Установить Apache.
2. Запустить более 128 конкурентных HTTP запросов.
3.
Actual Results:  
Не отрабатываются запросы.

Expected Results:  
Максимальное количество клиентов должно быть ограничено параметром MaxClients.
Comment 1 Michael Shigorin 2004-12-20 16:16:29 MSK
2 ldv: как бы это так поэлегантнее сделать?
Comment 2 Victor Forsyuk 2004-12-21 17:54:12 MSK
Еще одно предложение с целью сделать сборку apache более готовой для
использования  под большой нагрузкой. Максимальное значение параметра MaxClients
ограничено значением константы HARD_SERVER_LIMIT и сейчас равняется 256.

Стоит поднять его до более разумного лимита (скажем, 1024). Например, при помощи
таких однострочников в спеке:

subst "s/HARD_SERVER_LIMIT 256/HARD_SERVER_LIMIT 1024/" \
apache_1.3.33/src/include/httpd.h

subst "s/HARD_SERVER_LIMIT 256/HARD_SERVER_LIMIT 1024/" \
apache-mod_perl_1.3.33/src/include/httpd.h

(ну или создав соответствующий патч, что, в общем-то более надежно)
Comment 3 Michael Shigorin 2005-01-29 18:31:33 MSK
HARD_SERVER_LIMIT поднят в 1.3.33rusPL30.20-alt3, касательно ulimits -- вижу
разумным пока написать TUNING.ALT, поскольку MaxClients и компанию тоже придётся
подымать и достаточно синхронно.

Есть мысли касательно применения переключаемых кусочков конфигов и control(8),
благо переход на addon-modules.d/ начался и последовать вполне может какой
conf.d/ ;-)
Comment 4 Denis Smirnov 2005-01-29 18:43:56 MSK
Я вот думаю, а не обнаглеть ли до такой степени, чтобы из коробки прикрутить
reverse proxy? У меня до этого MaxClients 100 не хватало, после и двух десятков
хватает. Причём сделать Reverse Proxy и с помощью самого apache, и с помощью
того же nginx. Ну и переключать по установке nginx.

Симпатишное решение получается.

А 1024 MaxClients для mod_perl apache это самоубийство. Имеет смысл либо на
сайтах с чатами, либо если у нас процессоров
чёрт-знает-сколько-но-на-x86-столько-ставят-редко и памяти не меньше 8-и гиг. А
reverse proxy должен срезать большую часть запросов.

В идеале на mod_perl должно приходить где-то 4-<кол-во процессоров> запросов
(эмпирическая формула).
Comment 5 Michael Shigorin 2005-01-29 19:12:07 MSK
Ну, MaxClients не отменяли, да и в apache packagers team ты вроде уже загремел. :)

Сейчас залью 1.3.33-alt3 и рассматривай/обдумывай.  Но у меня сейчас настроение
скорее конфиги распустить в стружку, чтоб они хоть как-то управляемыми могли
быть, а не простынями.
Comment 6 Michael Bochkaryov 2005-01-29 19:45:22 MSK
(In reply to comment #4)
> Я вот думаю, а не обнаглеть ли до такой степени, чтобы из коробки прикрутить
> reverse proxy?

Ой, не надо из коробки. Это ж все запросы пойдут якобы с localhost'а, эмулируя
своих доверенных юзверей и ломая потенциально всякие дефолтные конфигурации.

> Симпатишное решение получается.

Да, если его индивидуально применять "строго по указанию врача".

> А 1024 MaxClients для mod_perl apache это самоубийство.

Думаю, что и reverse proxy, и увеличение MaxClients стоит сделать опциональным.
Другое дело, что нежелательно дополнительных проблем вроде ulimits создавать,
чтобы не сбивать веб-админов с толку.
Comment 7 Denis Smirnov 2005-01-29 20:00:26 MSK
Чтобы не было запросов "якобы с localhost" был собран модуль mod_realip
Comment 8 Denis Smirnov 2005-01-29 20:05:01 MSK
Распиливание конфигов я поддерживаю руками и ногами.

А потом я как-нибудь хорошенько напьюсь, и попробую всё это счастье
электрифицировать :)
Comment 9 Michael Shigorin 2006-11-23 17:21:15 MSK
Кстати, TUNING.ALT добавлен в 1.3.37rusPL30.22-alt8.  Просьба по возможности
почитать и высказаться.