Меня давно интересовало, как можно без особых забот лимитировать передачу данных на Mac OS X? Интересовало давно, а нужда припекла только сегодня… И так немного истории:

Я сам занимаюсь хостингом своего сайта ( meirz.net ) и на это есть много причин… В качестве сервера у меня стоит Mac Mini G4 – 1Ghz ( Mac os X система ) и я в основном хостю только свой сайт, а так же собственный подкаст архив. Интернет у меня DSL 5Mb вниз и 0.8Mb наверх ( это написано на бумаге ), а в реале у меня где-то 2.5 вниз и примерно 0.7 наверх. Теперь ясно что с такой скорость интернета долеко не разбежишься, но все это у меня работает довольно хорошо уже более 2-х лет.

Сегодня с меня кто-то начал активно качать все мои подкасты, а их у меня более 180… файлы разной длинны, но бывают и по 100 мегов… Вообщем интернет у меня начал загибаться до такой степени что почта открывается по 5 минут… Я начал смотреть на серверные логи и разбираться что к чему… Не долго думаю я понял что нужно каким-то образом лимитировать скорость передачу данных по HTTP. Я пролистал много интернет страниц и понял что единственный простой способ это поставить ограничения в фаерволе ( Firewall ). Вот ссылка на форум ( http://www.macosxhints.com/article.php?story=20080119112509736 ), а так же PDF файл ( распечатка форума ) на тот случай если ссылка не работает.

И так что нужно что бы ограничить скорость передачи данных:
1) Включить Firewall в системе
– На обычной Mac OS X это делается через: System Preferences -> Security
– На серверной Mac OS X это делается через: Server Admin
2) Из под командной строки пишем:
sudo ipfw pipe 1 config bw 60KByte/s
sudo ipfw add 1 pipe 1 src-port http

Если нужно убрать все правила то можно искользовать sudo ipfw flush
Если нужно убрать только одно правило то: sudo ipfw delete 1 ( где 1 это номер правила )

То есть мы создаем трубу и конфигурируем её на 60 килобайт в секунду.
Далее добавляем эту трубу на определенный порт ( http = порт 80 )
После чего трафик по исходящему 80 порту будет лимитирован на 60 килобайт в секунду. Конфигурации firewall-а довольно гибкие и позволяют делать разного рода настройки, например можно лимитировать скорость передачи данных которые идут в интернет, но при этом не лимитировать если данные идут в локальную сеть. Например: если вы обращаетесь с локалки к серверу по 80 порту, то скорость будет не лимитирована, но если обращаетесь с интернета, то скорость будет лимитирована… Вообщем конфигурировать можно по разному и это прекрасно. Кому интересно можно поискать ipfw и прочитать более полно.

Если есть вопросы пишите, буду рад помочь.


5 Responses to 'Лимитируем скорость передачи данных в Mac OS X'

Subscribe to comments with RSS

  1. spaceman said,

    on March 8th, 2010 at 01:32

    acanac.com < 100GB free online ftp with every dsl account. ~2-3 mb/s per thread download speeds

  2. MeIr said,

    on March 8th, 2010 at 09:11

    +1

  3. monya said,

    on March 8th, 2010 at 11:49

    Чтобы канал не забивало поставил бы utorrent и раздавал по p2p, имхо!

  4. Ivan said,

    on August 8th, 2013 at 01:29

    Спасибо, уважаемый!

    Для тестирования сайтов просто незаменимо!

  5. MeIr said,

    on August 8th, 2013 at 07:55

    Пожалуйста!

Leave a Reply