The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Управление трафиком в apache посредством модуля mod_cband

03.06.2006 23:11

В статье "Manage Apache Download Speed And Traffic Limits With mod_cband" рассказывается об ограничении пропускной способности и числа одновременных соединений от одного посетителя или лимитирования объема трафика для одного виртуального хоста (например, 10 Гб в месяц), через использование модуля mod_cband для Apache2.

Например, нижеприведенные настройки ограничат скорость для виртуального хоста в 1024kbps, с возможностью обслуживания не больше 10 запросов в секунду и максимумом в 30 открытых коннектов. Каждый посетитель может установить не больше трех одновременных соединений и получить данные на скорости не выше 20kb/s . Кроме того, виртуальный хост может за 4 недели израсходовать не более 100 Мб трафика, если лимит будет превышен скорость будет ограничена в 128kbps.


<VirtualHost 1.2.3.4>
  ServerName www.example.com
  ServerAdmin [email protected]
  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>



  1. Главная ссылка к новости (http://www.howtoforge.com/mod_...)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/7668-apache
Ключевые слова: apache, limit, traffic, bandwidth
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (23) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, romirin (?), 23:22, 03/06/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    спасибо !!!
    вещь нужная !!
     
  • 1.2, TeSemka (??), 23:30, 03/06/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ухты! 8) будем юзать
     
  • 1.3, User (??), 00:00, 04/06/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а для 1ого апача подобные решения существуют?
     
     
  • 2.4, domas (ok), 00:08, 04/06/2006 [^] [^^] [^^^] [ответить]  
  • +/
    mod_throttle
     

  • 1.5, s2 (ok), 00:48, 04/06/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    (% то что нужно.

    З.Ы 10х

     
  • 1.6, Alexander Sheiko (?), 03:27, 04/06/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Штука хорошая, умеет ограничивать трафик по направлениям. Есть возможность наблюдения / управления в реальном времени (через служебную страницу). Квоту трафика, скажем, за сутки можно поделить на 24 часа. При этом - оставшаяся с каждого часа квота не пропадает, а делится между оставшимися часами. Если бы она ещё могла ограничивать трафик в сторону всех сеток, КРОМЕ указанных - цены бы ей не было (для отключения ограничений местного трафика). Писал об этом автору кода ограничений по сетям (он с Донецка) - пока глухо.
     
     
  • 2.8, Siava (??), 12:07, 04/06/2006 [^] [^^] [^^^] [ответить]  
  • +/
    "Штука хорошая, умеет ограничивать трафик по направлениям."

    Пользуюсь этим модулем уже месяц, но так и не нашёл где-там ограничивать скорость входящего трафика? Только исходящий ведь ограничивается.

     
  • 2.10, Аноним (10), 15:08, 04/06/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Стоп! как это нельзя ограничивать общий трафик ?
    У меня отлично режет
        <IfModule mod_cband.c>                                                                    
            CBandScoreboard /var/cache/cband/xxx.score                                    
            CBandLimit 2G                                                  
            CBandClassLimit local 0                                                                
            CBandClassLimit peer  0                                                                
            CBandClassLimit out   0                                                                
        </IfModule>
     
  • 2.11, Sergey Beduev (?), 15:16, 04/06/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Сори недочитал.
    Ограничить трафик кроме указаных сеток можно просто
            # 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>
    Просто городить исключающий класс "НЕ" это не есть правильно.
     
     
  • 3.12, Alexander Sheiko (?), 19:01, 04/06/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >Сори недочитал.
    >Ограничить трафик кроме указаных сеток можно просто

    И что - если прописать вот так:

    <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)?

     
     
  • 4.13, Sergey Beduev (?), 19:23, 04/06/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Нет поиск класса идёт то первого совпадения, и выбирается класс у которого маска сети минимальная.
    т.е. если заданы такие сети:
    local - 10.0.0.0/8
    peer - 10.0.10.0/24
    то в данном случае 10.0.10.1 попадёт в класс peer, и будет ограничиватся в соотв с его описанием в vhost.
     
     
  • 5.14, Alexander Sheiko (?), 19:32, 04/06/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >Нет поиск класса идёт то первого совпадения, и выбирается класс у которого
    >маска сети минимальная.
    >т.е. если заданы такие сети:
    >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 , поскольку неочевиден.

     

  • 1.7, Alexander Sheiko (?), 03:32, 04/06/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Да - и поосторожней с "Каждый посетитель может установить не больше трех одновременных соединений", если не хотите, чтобы в броузерах у клиентов не было постоянных недогрузов части картинок. Этот лимит имеет смысл увеличить раза в два.
     
  • 1.9, pavlinux (??), 13:32, 04/06/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Епть, теперь апачя, еще и вместо фаярвола можно рулить. Например разбросать по отдельным серверам, кто превысил DROP, если нет FORWARD.

    Того гляди, скоро появится Apache OS, со встроенными прокси, фаярволом, маршрутизатором... и т.п.

     
  • 1.15, Alexander Sheiko (?), 01:52, 05/06/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А кто нибудь знает, что обозначают цифры:

    www.site.com:0:(38)

    в левом столбце на странице cband-status?

    Что то в доке я этого не нашёл :(.

     
     
  • 2.16, Sergey Beduev (?), 11:15, 05/06/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Это уникальный идентификатор хоста.
    Состоит из ServerName:Port:(Line)
    Line - это строка конфига в которой объявлен VirtualHost
     

  • 1.17, alxrem (ok), 11:16, 05/06/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Время доброе.

    Кто-нибудь проверял: оно может ограничивать количество соединений клиента, если коннект идет не напрямую, а от реверс-прокси?

     
     
  • 2.18, ABorland (?), 15:50, 05/06/2006 [^] [^^] [^^^] [ответить]  
  • +/
    mod_rpaf спасет отца русской демократии
     
  • 2.19, ABorland (?), 15:56, 05/06/2006 [^] [^^] [^^^] [ответить]  
  • +/
    к тому же ограничивать скорость на бэкенде это помоему не комильфо.
    Пользуйте nginx, он скорость отдачи довольно гибко регулировать может
    ну а с регулировкой квот и лимитов пусть mod_cband на бэкендк справляется
     
     
  • 3.20, alxrem (ok), 16:39, 05/06/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >mod_rpaf спасет отца русской демократии
    >к тому же ограничивать скорость на бэкенде это помоему не комильфо.
    >Пользуйте nginx, он скорость отдачи довольно гибко регулировать может
    >ну а с регулировкой квот и лимитов пусть mod_cband на бэкендк справляется

    Спасибо.

    mod_rpaf уже спасает помаленьку. Без него статистика не жужу.

    Интересует именно, грубо говоря, "что раньше отрабатывает". rpaf или cband. Впрочем, всё равно на неделе сам выясню. Просто хотел узнать, стоит ли уже у кого-нибудь такой гибрид в строю.

     
  • 3.21, alrond (??), 11:10, 06/06/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Жаль только, что он не может скорость отдачи по IP ограничивать, только по потоку (но если кто-то качает в 10 потоков? тогда не поможет)
     
     
  • 4.22, Siava (??), 02:32, 07/06/2006 [^] [^^] [^^^] [ответить]  
  • +/
    Как раз именно по IP и ограничивает, я специально проверял, хоть в 10 потоков качай скорость будет ограничена.
     

  • 1.23, Alexander Sheiko (?), 03:45, 09/06/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Написал небольшую заметку "Используем Apache 2 и mod_cband для ограничения мирового трафика":

    http://adsh.ukrweb.net/blog/article/31/

    Возможно - кому нибудь пригодится.

     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру