В статье "Manage Apache Download Speed And Traffic Limits With mod_cband (http://www.howtoforge.com/mod_cband_apache2_bandwidth_quota_...)" рассказывается об ограничении пропускной способности и числа одновременных соединений от одного посетителя или лимитирования объема трафика для одного виртуального хоста (например, 10 Гб в месяц), через использование модуля mod_cband (http://cband.linux.pl/) для Apache2.
Например, нижеприведенные настройки ограничат скорость для виртуального хоста в 1024kbps, с возможностью обслуживания не больше 10 запросов в секунду и максимумом в 30 открытых коннектов. Каждый посетитель может установить не больше трех одновременных соединений и получить данные на скорости не выше 20kb/s . Кроме того, виртуальный хост может за 4 недели израсходовать не более 100 Мб трафика, если лимит будет превышен скорость будет ограничена в 128kbps.
<VirtualHost 1.2.3.4>
ServerName www.example.com
ServerAdmin webmaster@example.com
DocumentRoot /var/www
CBandLimit 100M
CBandExceededSpeed 128 5 15
CBandSpeed 1024 10 30
CBandRemoteSpeed 20kb/s 3 3
CBandScoreboard /var/www/scoreboard
CBandPeriod 4W
</VirtualHost>
URL: http://www.howtoforge.com/mod_cband_apache2_bandwidth_quota_...
Новость: http://www.opennet.me/opennews/art.shtml?num=7668
спасибо !!!
вещь нужная !!
ухты! 8) будем юзать
а для 1ого апача подобные решения существуют?
mod_throttle
(% то что нужно.З.Ы 10х
Штука хорошая, умеет ограничивать трафик по направлениям. Есть возможность наблюдения / управления в реальном времени (через служебную страницу). Квоту трафика, скажем, за сутки можно поделить на 24 часа. При этом - оставшаяся с каждого часа квота не пропадает, а делится между оставшимися часами. Если бы она ещё могла ограничивать трафик в сторону всех сеток, КРОМЕ указанных - цены бы ей не было (для отключения ограничений местного трафика). Писал об этом автору кода ограничений по сетям (он с Донецка) - пока глухо.
"Штука хорошая, умеет ограничивать трафик по направлениям."Пользуюсь этим модулем уже месяц, но так и не нашёл где-там ограничивать скорость входящего трафика? Только исходящий ведь ограничивается.
Стоп! как это нельзя ограничивать общий трафик ?
У меня отлично режет
<IfModule mod_cband.c>
CBandScoreboard /var/cache/cband/xxx.score
CBandLimit 2G
CBandClassLimit local 0
CBandClassLimit peer 0
CBandClassLimit out 0
</IfModule>
Сори недочитал.
Ограничить трафик кроме указаных сеток можно просто
# Class description
<CBandClass local>
Include "conf/mod_cband-local.conf"
</CBandClass>
<CBandClass peer>
Include "conf/mod_cband-peer.conf"
</CBandClass>
<CBandClass out>
CBandClassDst 0/0
</CBandClass>
Просто городить исключающий класс "НЕ" это не есть правильно.
>Сори недочитал.
>Ограничить трафик кроме указаных сеток можно простоИ что - если прописать вот так:
<CBandClass local>
CBandClassDst 10.0.0.0/8
</CBandClass>
<CBandClass world>
CBandClassDst 0/0
</CBandClass>
<VirtualHost *:80>
...
CBandClassLimit world 500Mi
</VirtualHost>То трафик в десятую сетку не будет ограничиваться, не смотря на то, что он попадает и под world (сетка 10.0.0.0/8 входит в сетку 0/0)?
Нет поиск класса идёт то первого совпадения, и выбирается класс у которого маска сети минимальная.
т.е. если заданы такие сети:
local - 10.0.0.0/8
peer - 10.0.10.0/24
то в данном случае 10.0.10.1 попадёт в класс peer, и будет ограничиватся в соотв с его описанием в vhost.
>Нет поиск класса идёт то первого совпадения, и выбирается класс у которого
>маска сети минимальная.
>т.е. если заданы такие сети:
>local - 10.0.0.0/8
>peer - 10.0.10.0/24
>то в данном случае 10.0.10.1 попадёт в класс peer, и будет ограничиватся
>в соотв с его описанием в vhost.Спасибо. Этот момент очень просится сюда http://cband.linux.pl/documentation и сюда http://cband.linux.pl/faq , поскольку неочевиден.
Да - и поосторожней с "Каждый посетитель может установить не больше трех одновременных соединений", если не хотите, чтобы в броузерах у клиентов не было постоянных недогрузов части картинок. Этот лимит имеет смысл увеличить раза в два.
Епть, теперь апачя, еще и вместо фаярвола можно рулить. Например разбросать по отдельным серверам, кто превысил DROP, если нет FORWARD.Того гляди, скоро появится Apache OS, со встроенными прокси, фаярволом, маршрутизатором... и т.п.
А кто нибудь знает, что обозначают цифры:www.site.com:0:(38)
в левом столбце на странице cband-status?
Что то в доке я этого не нашёл :(.
Это уникальный идентификатор хоста.
Состоит из ServerName:Port:(Line)
Line - это строка конфига в которой объявлен VirtualHost
Время доброе.Кто-нибудь проверял: оно может ограничивать количество соединений клиента, если коннект идет не напрямую, а от реверс-прокси?
mod_rpaf спасет отца русской демократии
к тому же ограничивать скорость на бэкенде это помоему не комильфо.
Пользуйте nginx, он скорость отдачи довольно гибко регулировать может
ну а с регулировкой квот и лимитов пусть mod_cband на бэкендк справляется
>mod_rpaf спасет отца русской демократии
>к тому же ограничивать скорость на бэкенде это помоему не комильфо.
>Пользуйте nginx, он скорость отдачи довольно гибко регулировать может
>ну а с регулировкой квот и лимитов пусть mod_cband на бэкендк справляетсяСпасибо.
mod_rpaf уже спасает помаленьку. Без него статистика не жужу.
Интересует именно, грубо говоря, "что раньше отрабатывает". rpaf или cband. Впрочем, всё равно на неделе сам выясню. Просто хотел узнать, стоит ли уже у кого-нибудь такой гибрид в строю.
Жаль только, что он не может скорость отдачи по IP ограничивать, только по потоку (но если кто-то качает в 10 потоков? тогда не поможет)
Как раз именно по IP и ограничивает, я специально проверял, хоть в 10 потоков качай скорость будет ограничена.
Написал небольшую заметку "Используем Apache 2 и mod_cband для ограничения мирового трафика":http://adsh.ukrweb.net/blog/article/31/
Возможно - кому нибудь пригодится.