Tuesday, July 25th, 2017

mod_bandwidth — модуль для ограничения скорости загрузки файлов

Published on Март 30, 2009 by   ·   Комментариев нет

Модуль mod_bandwidth для apache1.3.x для ограничения

full text here

скорости скачивания контента. Основной недостаток — понимает только
статический контент — динамика созданная при помощи php пролетает
мимо него. Масса настроек — позволяет очень широко поиграться
скоростями по IP, имени домена… Пригодится если необходимо
ограничить скорость скачивания с сайта файлов, музыки или другого
статического контента.

Ставим из портов:

        /usr/home/lissyara/>cd /usr/ports
        /usr/ports/>make search name='mod_bandwidth'
        Port:   mod_bandwidth-2.0.6
        Path:   /usr/ports/www/mod_bandwidth
        Info:   Bandwidth management module for the Apache webserver
        Maint:  apache@FreeBSD.org
        B-deps: apache-1.3.34_4 expat-2.0.0 perl-5.8.7_2
        R-deps: apache-1.3.34_4 expat-2.0.0 perl-5.8.7_2
        WWW:    http://www.cohprog.com/mod_bandwidth.html

        /usr/ports/>cd /usr/ports/www/mod_bandwidth
        /usr/ports/www/mod_bandwidth/>make && make install && make clean

После установки раскомментируем строчки с модулем в конфиге
/usr/local/etc/apache/httpd.conf

        LoadModule bandwidth_module   libexec/apache/mod_bandwidth.so
        AddModule mod_bandwidth.c

И добавляем туда же следующие строки:

        <IfModule mod_bandwidth.c>
        # Включен (On), или отключен модуль (Off)
        BandWidthModule         On
        # Директория для хранения временных файлов
        BandWidthDataDir       /tmp/bandwith
        # С какой периодичностью отдавать куски файла
        # (Дело в том, что модуль не ограничивает скорость скачивания клиентом,
        # он отдаёт данные кусками, на максимальной скорости, а между кусками
        # ждёт некоторое время. Вот это время и фирурирует в этом параметре.
        # время - в микросекундах! (надо заметить, что при числах меньше
        # десяти тыщщ у меня ничё не работало...)
        BandWidthPulse         10000
        # Собственно скорость, с которой будет отдавать данные клиентам,
        # тут же указываются клиенты
        # анлим для локалки
        BandWidth              192.168.        0
        # анлим для моего домена, т.е. для посетителей,
        # которых IP резольвится типа gate.lissyara.su ....
        BandWidth              lissyara.su     0
        # Скорость, в байт/секунду для всех остальных, - на
        # самом деле 1кб/с - это жестоко... Надо больше...
        BandWidth               all             1024
        # В этом параметре указывается скорость с которой будут отдаваться
        # большие файлы - тут же указывается и размер (надо заметить, что
        # размер файлов указывается в килобайтах, а скорость в байтах/секунду)
        # файл размером больше 100кб будет отдаваться со скоростью 2048 байт/с
        LargeFileLimit         100             2048
        # файл размером больше 500кб будет отдавать со скоростью 4кб/с
        # т.е. при размере от 100 до 500 кб скорость
        # будет 2кб - согласно предыдущей директиве
        LargeFileLimit         500             4096
        # Максимальное число коннектов - 0 анлим.
        MaxConnection          100
        # Минимальная скорость - пунктик напрямую взаимосвязан с
        # парамером BandWidth - т.е. если поставить BandWidth 3кб/с, а
        # MinBandWidth 1кб/с то один клиент будет получать все три кб/с
        # если клиентов будет два - то получат по полтора кб/с а вот
        # если их будет сотня, то каждый получит по килобайту - это то
        # и указывается в MinBandWidth. Если поставить 0 - это будет
        # дефолтовое значение 256 байт/с, а -1 - тогда будет отдавать
        # каждому со cкоростью указанной в BandWidth
        # Синтаксис такой же как и у BandWidth
        MinBandWidth           lissyara.su     -1
        MinBandWidth           all             512
        </IfModule>

Конфиг для примера — чтоб было видно, что скорость зарубает — в
реальной жизни, конечно, надо будет скорость поднять, иначе посетители
уйдут, не дождавшись загрузки страницы… Затем создаём директорию
временных файлов, и даём на неё права пользователю, от которого бегает
apache:

        /root/>mkdir /tmp/bandwith
        /root/>chown www:wheel /tmp/bandwith

После чего перезапускаем апач:

        /usr/local/etc/apache/>/usr/local/etc/rc.d/apache.sh restart
        Stopping apache.
        Waiting for PIDS: 6930.
        Starting apache.
        /usr/local/etc/apache/>

И меня ожидал сюрприз — не работало…. Скорость какая была какая и
есть. В httpd-access.log всё было нормально, а вот в
/var/log/httpd-error.log сыпались ошибки:

           [Fri Feb 3 11:54:00 2006] [error] (2)No such file or directory:
           mod_bandwidth : Can&#039;t create/access master file
           /tmp/bandwith/master/86:282631
           [Fri Feb 3 11:54:00 2006] [error] (2)No such file or directory:
           mod_bandwidth : Can&#039;t create/access master file
           /tmp/bandwith/master/86:282631
           [Fri Feb 3 11:54:00 2006] [error] (2)No such file or directory:
           mod_bandwidth : Can&#039;t create/access master file
           /tmp/bandwith/master/86:282631

Вот как… А по документации он должен был создать субдиректории
сам… Ну и ладно — делаю все, которые он сам должен был сделать:

        /usr/local/etc/apache/>mkdir -p /tmp/bandwith/master
        /usr/local/etc/apache/>mkdir -p /tmp/bandwith/link
        /usr/local/etc/apache/>chown -R www:wheel /tmp/bandwith

Снова перезапустил — забегало.

zp8497586rq














Смотрите также:

Readers Comments (Комментариев нет)

Comments are closed.

Exchange 2007

Проведение мониторинга Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 3)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Проведение мониторинга Exchange 2007 с помощью диспетчера System ... [+]

Практическое рассмотрение перехода с Exchange 2003 на Exchange 2007 (часть 1)

Введение В этой статье из нескольких частей я хочу показать вам процесс, который недавно использовал для перехода с существующей среды Exchange 2003 ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 2)

Если вы пропустили первую часть этой серии, пожалуйста, прочтите ее по ссылке Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (Часть ... [+]

Мониторинг Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 2)

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Мониторинг Exchange 2007 с помощью диспетчера System Center Operations ... [+]

Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 5)

Если вы пропустили предыдущие части этой серии статей, перейдите по ссылкам: Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 1) ... [+]

Установка и настройка Exchange 2007 из командной строки (Часть 3)

If you missed the previous parts in this article series please read: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 1)

Инструмент ExRCA Текущий выпуск инструмента предоставляется только в целях тестирования и оснащен 5 опциями: Тест подключения Outlook 2007 Autodiscover Тест подключения Outlook 2003 RPC ... [+]

Развертывание сервера Exchange 2007 Edge Transport (часть 5)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Развертывание сервера Exchange 2007 Edge Transport (часть 1) Развертывание ... [+]

Установка и настройка Exchange 2007 из командной строки (часть 2)

Если вы пропустили первую статью данного цикла, пожалуйста, перейдите по ссылке: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование интегрированных сценариев Using Exchange Server 2007 – часть 2: генерирование отчетов агента Transport AntiSpam Agent

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Использование интегрированных сценариев Using Exchange Server 2007 – часть ... [+]