- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как я понял, в качестве теста Вас просят поставить nginx (worker_process 1, worker_connections 1024, как в стандартных настройках), замерить rss, подсоединить к нему 1000 "slowloris", замерить rss; потом поставить apache с желаемой Вами mpm, замерить rss, подсоединить к нему 1000 "slowloris", замерить rss; посчитать, сколько памяти требуется nginx для обработки одного запроса и сколько памяти требуется apache для обработки одного запроса; опубликовать полученные цифорки.
Я над этим работаю.
Boris A Dolgov, я специально не ограничивал myhand.
Для начала - не я хвалился, что nginx использует меньше памяти. Это утверждал netwind - подобные вещи уже не требуют доказательств и самоочевидны?
потом поставить apache с желаемой Вами mpm, замерить rss
И какими настройками?
slowloris это кто? если они медленно шлют заголовки http
Это вот:
http://en.wikipedia.org/wiki/Slowloris
- Когда клиент меееедленно делает запрос.
нужно имитировать обычных клиентов которые медленно качают тело запроса.
Мне тоже кажется, что так разумнее.
Кстати, в rss входит использованный стек? у ps есть отдельный показатель stack size. Вряд ли этот показатель показывает сколько стека было использовано. Как-то не очень понятно.
Скопипастим классику:
This is usually at least 20 KiB of memory that is always resident. SIZE is the virtual size of the process (code+data+stack).
подобные вещи уже не требуют доказательств и самоочевидны?
Вообще-то, да. Меньше чем apache в пересчете на одного клиента. Вопрос лишь в том насколько меньше.
Скопипастим классику:
Фигню скопипастил. Напиши да или нет.
Реально использованный стек можно посмотреть в /proc/<pid>/smap, но нигде не видно включает ли значение суммарное значение rss этот стек.
Вот у меня стек в апачах очень большой - по 70 мб на процесс. Скорее всего он не используется весь.
Вообще-то, да.
Вообще-то нет. Программы - разные. nginx не создает тредов - ну так есть разные структуры данных, связанные с обрабатывающимися запросами. Ты ведь не обязан тупо верить, что они организованы оптимально?
Как я понял, в качестве теста Вас просят поставить nginx (worker_process 1, worker_connections 1024, как в стандартных настройках)
А почему такие? Я выставил в nginx и апаче такие - что они не отказываются обработать штатную нагрузку на обычном , "средненьком" сервере. Поставлю 1024 - получу вопли от клиента по поводу ошибок. Это что, так nginx и должен работать? 🍿
Реально использованный стек можно посмотреть в /proc/<pid>/smap, но нигде не видно включает ли значение суммарное значение rss этот стек.
Включает. Нужно было перевести текст?
Кстати, а как называется опция, которая у ps размер стека показывает? В man ps ничего путного по stack+size на накопал:
slowloris это кто? если они медленно шлют заголовки http, то это не пойдет. не известно с какого именно момента в работу включается mod_proxy.
нужно имитировать обычных клиентов которые медленно качают тело запроса.
Согласен. Тогда тестировать надо через wget --rate-limit.
Правда я считаю что основное потребление памяти приносит не mod_proxy, а накладные расходы на обслуживание существования соединения.
---------- Добавлено в 16:49 ---------- Предыдущее сообщение было в 16:48 ----------
И какими настройками?
Достаточными для того, чтобы обработать 1000 клиентов, но при этом, на Ваш взгляд, оптимальные по памяти.
---------- Добавлено в 16:50 ---------- Предыдущее сообщение было в 16:49 ----------
А почему такие? Я выставил в nginx и апаче такие - что они не отказываются обработать штатную нагрузку на обычном , "средненьком" сервере. Поставлю 1024 - получу вопли от клиента по поводу ошибок. Это что, так nginx и должен работать? 🍿
Ну не знаю. Можем увеличить размер теста и соответствующие настройки с 1000 коннектов до 50000 коннектов, результат-то от этого не изменится.
Включает. Нужно было перевести текст?
Кстати, а как называется опция, которая у ps размер стека показывает? В man ps ничего путного по stack+size на накопал:
Надо перевести. я имел ввиду стек внутри процесса. очевидно, у каждого потока свой собственный стек. или нет?
предложение "SIZE is the virtual size of the process (code+data+stack) " относится к виртуальному размеру. то есть SIZE не связано с тем, сколько страниц из этого запрошенного стека реально использованы.
насчет ps я, кажется, ошибся. тоже не знаю как этот стект посчитать из данных ps.
Не стал выпендриваться, провёл сухой тест на стандартных настройках, смотрел реал тайм, выполнялись запросы, я копировал с htop процесс который обрабатывал запросы.
для себя сделал выводы почти всё одинакова.
Естественно запросы были к static
Был интересный момент с тестом.
ab -n 100000 -c 10 http://192.168.11.2:8080/
ab -n 100000 -c 10 http://192.168.11.2:80/
Я уже не стал копировать, nginx выполняет шустрее но грузит на 100% CPU
apache выполнил более мягче и нагрузил цпу на 80%
Порой nginx шустрый и быстрый, но всегда-ли нужна эта супер скорость.
покажи хоть, какие модули апачу накрутил
Тогда тестировать надо через wget --rate-limit
Наверно, это для большой статики адекватно. Посмотрел разные пузомерки (ab, siege, etc) - не нашел подобных ограничений. Хотелось бы стандартный бенчмарк показать, а не мой_кривой_скрипт_с_wget.sh
покажи хоть, какие модули апачу накрутил
Думаешь, надо убрать модули ? - это даст выигрыш в обработке запросов ? ( статик запросов )
Всё выполнено base install
Мы же умные мы же глядим колонку RES )) зачем нам с библиотеками плюсовать.
Был интересный момент с тестом.
ab -n 100000 -c 10 http://192.168.11.2:8080/
ab -n 100000 -c 10 http://192.168.11.2:80/
Я уже не стал копировать, nginx выполняет шустрее но грузит на 100% CPU
apache выполнил более мягче и нагрузил цпу на 80%
Порой nginx шустрый и быстрый, но всегда-ли нужна эта супер скорость.
Concurrency Level: 1 - никому не интересен.
10 - уже шаг к тому, при каких условиях нужно сравнивать.
еще надо как-то медленность клиента сымитировать.
поставьте -c 100, 500, 1000 и приведите результат :)