ограничение пропускной способности загрузки в Mac OS X Yosemite (10.10)

у меня есть ADSL интернет, и когда есть приложение загрузки в Интернет на полной скорости (например, Skype или Chrome во время загрузки файлов), пропускная способность загрузки становится очень очень медленно. Это означает, что я не могу практически просматривать веб-страницы во время загрузки и даже пинга 8.8.8.8 принимает 2-3 секунды; нормально то приняло бы под 0.06 секундами.

в Mac OS X Mavericks (10.9) и ранее я использовал душил для ограничения исходящего трафика, Чтобы интернет был пригоден во время загрузки.

Throttled использует ipfw для регулирования, который был удален из Yosemite (10.10). Рекомендуемая альтернатива pf, но ядро Mac OS X не имеет поддержки ALTQ, что позволило бы формировать трафик (так как я пытался, все команды altq просто игнорируются).

Я тоже попробовал Кондиционер Сетевого Соединения приложение, но это не регулирует исходящие пакеты правильно, поэтому Интернет по-прежнему непригоден для использования во время загрузки. Средняя исходящая пропускная способность ограничена, но она колеблется с периодом в несколько секунд.

Итак, как я могу ограничить исходящую пропускную способность? Или как я могу поднять приоритет трафика HTTP, по крайней мере? Могу ли я установить ipfw Почему? Есть еще идеи?

обновление: конфигурация, которая работает для меня лучше всего до сих пор, чтобы сделать HTTP/HTTPS/SSH неограниченным и ограничить скорость загрузки для всего остального. Это делает в интернете, когда как резервное копирование в облако и торрент-загрузки в то же время. Вот такой сценарий:

#!/bin/bash

# Reset dummynet to default config
dnctl -f flush

pfctl -F all

# Compose an addendum to the default config; creates a new anchor
(cat /etc/pf.conf &&
  echo 'dummynet-anchor "my_anchor"' &&
  echo 'anchor "my_anchor"') | pfctl -q -f -

# Configure the new anchor
cat <<EOF | pfctl -q -a my_anchor -f -
no dummynet quick on lo0 all
dummynet out all pipe 1
dummynet out proto icmp all pipe 2
dummynet out proto tcp to any port 443 pipe 2
dummynet out proto tcp to any port 80 pipe 2
dummynet out proto tcp to any port 22 pipe 2
EOF

# Create the dummynet queue
dnctl pipe 1 config bw 30Kbyte/s queue 50
dnctl pipe 2 config queue 50

# Activate PF
pfctl -E

чтобы проверить, что dnctl правильно настроен, запустите sudo dnctl list. Вы должны увидеть 2 очереди, первая ограничена, вторая не ограничена:

$ sudo dnctl list
00001: 240.000 Kbit/s    0 ms   50 sl. 1 queues (1 buckets) droptail
    mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
    mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
  0 udp         192.168.1.XX/XXX   XX.XX.XX.XX/XXX   1372  1517617  6 8010  96
00002: unlimited    0 ms   50 sl. 1 queues (1 buckets) droptail
    mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
    mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
  0 tcp         192.168.1.XX/XXX   XX.XX.XX.XX/XXX     27     4557  0    0   0
20
задан psmith
19.05.2023 14:52 Количество просмотров материала 3593
Распечатать страницу

1 ответ

я столкнулся именно с этой проблемой с новым приложением Фотографии. После установки photolibraryd приложение загружает все фотографии в фоновом режиме, что вызывает проблемы перегрузки сети вы цитируете. Я тоже установил Network Link Conditioner и установил ограничение на загрузку 256 кбит / с.

сначала это не сработало. Причина была проста: загрузка осуществляется по TCP соединению (HTTPS на порту 443). Я должен был отключить первый (я просто отключил Wi-Fi на секунду) после включения NLC. После этого, загрузки возобновлено в соответствии с новым правилом NLC, и я могу одновременно использовать интернет.

для дальнейшего понимания, взгляните на ваши правила PF до и после включения NLC. Обратите внимание, что когда NLC включен, у вас есть правило dummynet PF?! Правильно, вместо поддержки altq в, Похоже, что Apple сделала работу ПФ с dummynet. Я разместил немного о ПФ на Mac OS на мой блог.

обновление: NLC не требуется. Трубы и очереди Dummynet могут быть созданы непосредственно с dnctl. Подробные инструкции и примеры использования с pf.

2
отвечен Matt Simerson 2023-05-20 22:40

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

bandwidth
ipfw
networking
osx-yosemite
pf
Вверх