6

Я хотел бы проверить, как ведут себя некоторые веб-сайты и другие службы при использовании их при медленном соединении, скажем, с максимальной пропускной способностью 512 кбит / с и задержкой в 500 мс.

Как я могу сделать это в OS X?

3 ответа3

8

Используйте встроенную утилиту ipfw(8) для управления межсетевым экраном ipfw и формирователем трафика dummynet для создания нового канала. Этот канал будет служить виртуальным каналом, через который должны проходить пакеты.

Мы можем установить ограниченную пропускную способность, задержку распространения, размер очереди и частоту потери пакетов.

Запустите Терминал из /Applications/Utilities/Terminal.app. Затем введите следующее и подготовьтесь к вводу пароля администратора:

sudo ipfw pipe 1 config bw 512Kbit/s delay 500ms

Используемые значения говорят сами за себя. Для потери пакетов добавьте plr <n> , где <n> - число с плавающей запятой между 0 и 1 (0 означает отсутствие потерь, а 1 означает, что все пакеты отброшены). Это, например, очень хорошо имитирует мобильное соединение с потерями.

Теперь давайте добавим этот канал для любых подключений к 80-му порту (который используется для HTTP-трафика).

sudo ipfw add 1 pipe 1 src-port 80
sudo ipfw add 2 pipe 1 dst-port 80

Наслаждайся медленным подключением. Если вы сделали, удалите эти правила и удалите канал:

sudo ipfw delete 1
sudo ipfw delete 2
sudo ipfw pipe 1 delete
6

Другим вариантом может быть использование панели настроек Network Link Conditioner, которая устанавливается с Xcode на 10.7 и выше.

1

http://slowyapp.com/ - еще один (теперь бесплатный) вариант.

Все три варианта - Network Link Conditioner, ipfw и Slowy - являются всего лишь интерфейсами в той части сетевого стека OSX, которая может формировать сетевой трафик (dummynet), поэтому просто выберите тот, который вам наиболее удобен.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .