Boris A Dolgov, я специально не ограничивал myhand.
slowloris это кто? если они медленно шлют заголовки http, то это не пойдет. не известно с какого именно момента в работу включается mod_proxy.
нужно имитировать обычных клиентов которые медленно качают тело запроса.
Кстати, в rss входит использованный стек? у ps есть отдельный показатель stack size. Вряд ли этот показатель показывает сколько стека было использовано. Как-то не очень понятно.
myhand, пока не знаю. придется считать потребление памяти по 100 мб на клиента. Ну так, на всякий случай.
Ну придумай что-нибудь. ты же умный.
так еще раз объясняю : nginx никогда не растет во время работы. Этот довод тут ничего не подтверждает.
А для слабого vps можно поставить число воркеров =1 и уменьшить worker_connections (так сделал я для усиления драматического эффекта) и больше ничего и ни при каких условиях съедено не будет.
apache же при работе будет обязательно создавать потоки и инициализировать внутренние переменные и много всего разного. ---------- Добавлено в 21:10 ---------- Предыдущее сообщение было в 21:09 ----------
И еще раз напишу : nginx потребляет 0 байт памяти дополнительно для обработки любого соединения. Так заметно?
Да равно откуда. Лишь бы данные не вызывали сомнений.
Со своей стороны сторонника nginx я эти данные привел.
myhand, просто посчитай сколько дополнительно расходует памяти каждый работающий поток в mpm_event. Слова "нагрузка примерно одинакова" вызывают сомнения в точности измерений.
для nginx подобный показатель известен точно - он равен 0.
myhand, ну так надо еще посчитать что там в server-status. с nginx совершенно точно ясно сколько он памяти потребляет.
myhand, по 2 мб на каждого активного клиента, которому осуществляется передача ? или как из этих данных видно как растет потребление памяти у апача при росте числа клиентов?
А у меня это выглядит так :
ps -o rss,command `pgrep nginx`
RSS COMMAND
908 nginx: master process /usr/sbin/nginx
1144 nginx: worker process
1072 nginx: worker process
причем, процессов nginx постоянное количество - три не зависимо от количества клиентов.
Ладно, возьму твои цифры по 5 мб на каждый процесс nginx исключая master process.
Таким образом, у типичного пользователя nginx вместо апача и VPS эдак на 256мб памяти при 50 активных закачках дополнительно экономится 90 мб драгоценной памяти.
И при чем тут вконтакте вообще? Экономия очень приличная даже для унылых сайтов.
myhand, ну ладно.
вернемся к началу: тест делал кто?
достаточно имитировать медленных клиентов скачивающих файлы хотя бы по 1 мб и задействующих одновременно хотя бы 50 обработчиков апача. и в тех же условиях сравнить показатель потребления памяти в nginx.
и что теперь мне нельзя заметить формальную ложь?
по-моему SetEnvIf не видит заголовки ответа от бекенда. А lua в nginx видит, потому что nginx специально создан для работы с бекэндом.
Да и речь не шла о конкретном заголовке, а о всех видах неправильных заголовков. На языке программирования это делается простыми условными и строковыми операциями.