Ключевые слова:freebsd, web, limit, apache, bandwidth, filter, (найти похожие документы)
Date: Fri, 11 Jul 2003 09:40:50 +0800
From: Igor Sysoev <is at rambler-co.ru>
Subject: Влияние Accept filters на число httpd процессов
> И все же, каково мнение общественности по поводу использования
> accept fileters для http запросов ? Как я понимаю, данные в основном
> такие, что нагрузку это снижает совсем незначительно, в принципе,
> мои эксперименты это подтвеждают.
По моим наблюдениям accf_data уменьшает число Апачей на 5-10%.
From: Igor Sysoev <is at rambler-co.ru>
>> По моим наблюдениям accf_data уменьшает число Апачей на 5-10%.
>
> а есть ли данные об использовании accf_http ?
Я его не пробовал, но из общих соображений могу сказать следующее.
Если в запросе браузера куки вменяемого размера и нет длинного URI,
то размер такого запроса - около полукилобайта. То есть, весь запрос
браузера помещается в один типичный TCP-пакет размером в 1460 байт
и есть ещё запас около килобайта на невменяемые куки и длинные URI.
Стало быть, статистически accf_http не отличается от accf_data.
From: Eugene Grosbein <[email protected]>
> Что более оптимально - FreeBSD ipfw "limit src-addr"
> или применение модуля Apache, например mod_throttle
> для противодействия "атакам" типа "Teleport, Flashget, Webcopier...".
> Т.е. один клиент запрашивает слишком много параллельых сессий.
Самое эффективное тут включить одновременно accept filters
и ipfw limit src-addr. Все как рукой снимет.
From: Igor Sysoev <is at rambler-co.ru>
>Есть веб-сервер с хорошей загрузкой, а оперативки маловато.
>Имеет ли смысл включать в BSD'шном ядре ACCEPT_FILTER_HTTP чтоб
>уменьшить кол-во висящих в памяти апачей?
В общем случае - имеет, но если версия FreeBSD в районе 4.5, то
противопоказано. Даст это уменьшение Апачей примерно на 5-10%.
Но это на сервере без keepalive. keepalive нивелирует использование
accept фильтра.
>или после включения этой опции автоматически перестанут работать KeepAlive?
Нет, keapalive как работал, так и будет работать, а вот accept фильтр
будет работать только на первом запросе.
>KeepAlive выключать не хочется.
Если оперативки мало, то keepalive придётся выключить. Тут уж не до жиру.
>Кстати какой по величине стоит задавать величину KeepAliveTimeout?
Для Апача, возможно, 15 секунд, записанных в дефолтном конфиге, нормально.
За это время запрос на inlined картинку должен успеть прийдти.
>Какие вообще есть минусы использования ACCEPT_FILTER?
В нём нет таймаута и соединения, не прошедшие фильтр, висят несколько
часов (точно не смотрел, сколько, но за полсуток они пропадали).
From: Dmitry Morozovsky <[email protected]>
IS> >Какие вообще есть минусы использования ACCEPT_FILTER?
IS> В нём нет таймаута и соединения, не прошедшие фильтр, висят несколько
IS> часов (точно не смотрел, сколько, но за полсуток они пропадали).
Я полагаю, что стандартные TCP-шные 2 часа, если не крутить
net.inet.tcp.keepidle: 7200000
Впрочем, это предположение. А так -- стандартно: Use the Source. Look! ;-P
From: Igor Sysoev <[email protected]>
> Я полагаю, что стандартные TCP-шные 2 часа, если не крутить
> net.inet.tcp.keepidle: 7200000
>
> Впрочем, это предположение. А так -- стандартно: Use the Source. Look! ;-P
Я тоже думаю, что это tcp'ишный keepalive.
При условии, что net.inet.tcp.always_keepalive: 1