Apache mpm itx

Raistlin
На сайте с 01.02.2010
Offline
247
#41

PHPSID, да ну? ))). А, вы до сих пор используете mod_php? Тогда мы идем к вам =)

HostAce - Асы в своем деле (http://hostace.ru)
Den73
На сайте с 26.06.2010
Offline
523
#42

Raistlin,

в itk можно лимитировать количество воркеров для вирт хоста, это действительно помогает защитить остальных юзеров в системе если идет небольшой флуд.

при правильной настройке, атакуемый сайт отвалится а остальные будут пытаться работать.

M
На сайте с 16.09.2009
Offline
278
#43
Den73:
в itk можно лимитировать количество воркеров для вирт хоста

Для этого не нужен новый mpm.

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
Boris A Dolgov
На сайте с 04.07.2007
Offline
215
#44
myhand:
Для этого не нужен новый mpm.

... для этого нужна новая операционная система! 🤪 (cloudlinux)

С уважением, Борис Долгов. Администрирование, дешевые лицензии ISPsystem, Parallels, cPanel, DirectAdmin, скины, SSL - ISPlicense.ru (http://www.isplicense.ru/?from=4926)
M
На сайте с 16.09.2009
Offline
278
#45

А ничего, что там чуть больше чем "лимитировать количество воркеров" для виртуального хоста?

И может я чего-то не понял, но весь пук этого cloud (ну почему не нано, ы?) - делается обычными cgroups. Не знаю, насколько хуже чем сделали они с openvz, зато cgroups есть в ядре. Есть и модуль апача mod_cgroups для шаред-хостинга.

Boris A Dolgov
На сайте с 04.07.2007
Offline
215
#46
myhand:
А ничего, что там чуть больше чем "лимитировать количество воркеров" для виртуального хоста?

Это не имеет смысла -- создание одного узкого места искуственно ведёт к проблемам в других местах. Например, если мы настроим для виртхоста обработку запросов через leacky bucket, то у нас может переполниться backlog. То же самое и с другими ресурсами.

Поэтому сейчас они исследуют новую возможность -- выставлять большие лимиты и запускать специальный демон, который будет следить за потреблением ресурсов и применять санкции к пользователям, которые потребляют слишком много. Напоминает парсинг bsd accounting, да? :)

И может я чего-то не понял, но весь пук этого cloud (ну почему не нано, ы?) - делается обычными cgroups. Не знаю, насколько хуже чем сделали они с openvz, зато cgroups есть в ядре. Есть и модуль апача mod_cgroups для шаред-хостинга.

Нано актуально только в России, а cloud -- везде.

На самом деле весь пук заключается в том, что это готовое, поддерживаемое и относительно работающее решение.

mod_cgroup не изучал подробно, но беглый взгляд на исходники говорит, что процесс совсем легко может выйти из своей группы. CloudLinux в этом месте хотя бы требует секретную uint32_t cookie, и при неверном её указании убивает процесс.

Тут как раз идеи из горячо обсуждаемого mpm-itk подойдут -- не давать процессу покинуть cgroup, а только умереть, но это большая дыра в производительности.

Andreyka
На сайте с 19.02.2005
Offline
822
#47

mod_qos в помощь

Не стоит плодить сущности без необходимости
M
На сайте с 16.09.2009
Offline
278
#48
Boris A Dolgov:
Это не имеет смысла -- создание одного узкого места искуственно ведёт к проблемам в других местах. Например, если мы настроим для виртхоста обработку запросов через leacky bucket, то у нас может переполниться backlog.

Почему "искуственно ведет"? Не настроим - не приведет что-ли? Backlog переполнится еще быстрее, если мы не будем быстро принимать запрос к обработке и решать отпинать-ли его с 503 какой-нибудь или обработать нормально.

backlog - он же для всех, по определению. Там все-равно нельзя лимитировать нагрузку для конкретного виртуалхоста.

Boris A Dolgov:
Поэтому сейчас они исследуют новую возможность -- выставлять большие лимиты и запускать специальный демон, который будет следить за потреблением ресурсов и применять санкции к пользователям, которые потребляют слишком много. Напоминает парсинг bsd accounting, да? :)

Ага, напоминает пачку подобных велосипедов, из тех которых видел. И еще большую - из тех, о которых слышал. Ничего нового в этой идее вроде нет (за исключением новых механизмов), так что я бы не мечтал о том, что в результате получится что-то удачное.

Boris A Dolgov:
Нано актуально только в России, а cloud -- везде.

В любом случае, на название проекта много фантазии не потрачено ;)

Boris A Dolgov:
На самом деле весь пук заключается в том, что это готовое, поддерживаемое и относительно работающее решение.

Ну, эт маркетинг.

Boris A Dolgov:
mod_cgroup не изучал подробно, но беглый взгляд на исходники говорит, что процесс совсем легко может выйти из своей группы.

Не смотрел пока на модуль подробно - не знаю насколько это фатально связано с его дизайном. Больше похоже на детскую болезнь.

Boris A Dolgov:
Тут как раз идеи из горячо обсуждаемого mpm-itk подойдут -- не давать процессу покинуть cgroup, а только умереть, но это большая дыра в производительности.

Почему? Я так понимаю, трудность в другом - найти кому дать следующий реквест обработать.

Boris A Dolgov
На сайте с 04.07.2007
Offline
215
#49
myhand:
Почему "искуственно ведет"? Не настроим - не приведет что-ли? Backlog переполнится еще быстрее, если мы не будем быстро принимать запрос к обработке и решать отпинать-ли его с 503 какой-нибудь или обработать нормально.

Читайте внимательнее -- "leacky bucket" как раз придерживает соединение в некоторой очереди, пока не будут обработаны другие соединения для этого сайта. К этому же ведёт ограничение на процент процессора -- вместо того, чтобы бросить все ресурсы сервера на обработку, соединения одного пользователя будут копиться, лишая других пользователей других ресурсов (например, память, io (так как, возможно, чем дольше будет выполняться процесс, тем чаще его данные будут вымещаться из дискового кеша, тем чаще ему придётся лезть за ними на диск)).

Ну, эт маркетинг.

Маркетинг-не маркетинг, а почти все пользователи CL, которых я знаю, пользуются им из-за этого.

Почему? Я так понимаю, трудность в другом - найти кому дать следующий реквест обработать.

Т.е. перекидывать запросы между процессами апача?

M
На сайте с 16.09.2009
Offline
278
#50
Boris A Dolgov:
Читайте внимательнее -- "leacky bucket" как раз придерживает соединение в некоторой очереди, пока не будут обработаны другие соединения для этого сайта.

Я просто не понимаю о какой очереди идет речь. Если "leacky bucket" работает уже после того, как апач начал обрабатывать запрос и понял для какого он хоста/пользователя - это вроде как уже бессмысленно. Там все просто, никакой очереди: либо работаем нормально, либо отфутболиваем с каким-нибудь 503.

Видимо, вы о том что в подобной ситуации что-то типа leacky bucket в апаче работает на этапе принятия соединения. Там ничего не известно про виртуальный хост, так что действительно все общее. Не решить это, наверно, одним вебсервером.

Boris A Dolgov:
Т.е. перекидывать запросы между процессами апача?

Ну, грубо говоря - да. Собственно, и itk ведет себя как ведет - именно по аналогичной причине.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий