Как смоделировать низкую пропускную способность (сетевая задержка) на локальном хосте (работает на WAMP, Windows XP)? - PullRequest
12 голосов
/ 26 марта 2012

Как имитировать низкую пропускную способность (сетевая задержка) на локальном хосте (работает на wamp, windows XP)? Я хотел установить его на стороне сервера, а не на стороне клиента.

Ответы [ 2 ]

8 голосов
/ 29 мая 2012

Это можно сделать с помощью модуля для Apache, который называется Bandwidth Mod .Хотя эта версия предназначена для Apache 2.2.14, я использую ее на 2.2.21 без проблем.

Возьмите файл bw_mod.dll по ссылке выше и поместите его впапку модулей Apache (обычно bin\Apache\Apache2.2.xx\modules в папке установки Wampserver), а затем добавьте ее в файл httpd.conf:

LoadModule bw_module modules/mod_bw.dll
BandWidthModule On
ForceBandWidthModule On
BandWidth    all 50000
MinBandWidth all -1

Обязательно ознакомьтесь с файлом readme дляэтот модуль, поскольку он поставляется с большим количеством опций.

Надеюсь, это поможет!

1 голос
/ 19 ноября 2013

Это рецепт Apache 2.2.x на FreeBSD для вашего собственного сервера локальной сети, то есть у вас есть доступ к файлу apache.conf .

К сожалению, mod_bw неработать с файлами .htaccess (пока), поэтому простое и быстрое тестирование с различными скоростями невозможно.Но вот обходной путь, который отлично работает для меня.

Установить mod_bw на FreeBSD ...

# cd /usr/ports/www/mod_bw
# make install clean

Сделать скоростную директорию в корне вашего документа ...

# cd /path/to/doc/root
# mkdir _s

Создание символических ссылок в этой скоростной директории на корень документа ...

# cd _s
# ln -s /path/to/doc/root 33k
# ln -s /path/to/doc/root 56k
# ln -s /path/to/doc/root 128k
# ln -s /path/to/doc/root 256k
# ln -s /path/to/doc/root 512k
# ln -s /path/to/doc/root 1024k

Редактирование /usr/local/etc/apache22/httpd.conf и создание этих строк ...

LoadModule bw_module libexec/apache22/mod_bw.so

<Directory "/path/to/doc/root">
    Options FollowSymLinks
</Directory>

<directory /path/to/doc/root/_s/33k>
    <ifmodule mod_bw.c>
        BandWidthModule On
        ForceBandWidthModule On
        Bandwidth all 33000
    </ifmodule>
</directory>
<directory /path/to/doc/root/_s/56k>
    <ifmodule mod_bw.c>
        BandWidthModule On
        ForceBandWidthModule On
        Bandwidth all 56000
    </ifmodule>
</directory>
<directory /path/to/doc/root/_s/128k>
    <ifmodule mod_bw.c>
        BandWidthModule On
        ForceBandWidthModule On
        Bandwidth all 128000
    </ifmodule>
</directory>
<directory /path/to/doc/root/_s/256k>
    <ifmodule mod_bw.c>
        BandWidthModule On
        ForceBandWidthModule On
        Bandwidth all 256000
    </ifmodule>
</directory>
<directory /path/to/doc/root/_s/512k>
    <ifmodule mod_bw.c>
        BandWidthModule On
        ForceBandWidthModule On
        Bandwidth all 512000
    </ifmodule>
</directory>
<directory /path/to/doc/root/_s/1024k>
    <ifmodule mod_bw.c>
        BandWidthModule On
        ForceBandWidthModule On
        Bandwidth all 1024000
    </ifmodule>
</directory>

Перезапустите apache...

# apachectl restart

Вот и все!Вы можете получить доступ к веб-сайту локальной сети обычным способом с помощью скорости локальной сети или с выбранными скоростями ...

Например

  • http://serverip/website_name/
  • http://serverip/_s/56k/website_name/

Goodluck!

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

...