Как настроить параметр скорости tc для оптимальной производительности с htb/sfq?
Я новичок в использовании tc/htb, и я просто скопировал / вставил скрипт в...
http://lartc.org/howto/lartc.cookbook.ultimate-tc.html
... бежать в офисный шлюз. Причина заключается в том, чтобы не допустить слишком больших загрузок, загрузок, p2p и видео из-за слишком медленных SSH-соединений и просмотра веб-страниц. Сеть выглядит так:
LAN -> (eth0) Linux-шлюз (eth1) -> DSL модем
Шлюз также делает NAT для клиентов локальной сети.
В верхней части сценария вы устанавливаете скорость восходящей и нисходящей линий связи (в килобитах) и устройство. Наш ADSL составляет 1,5 м DL / 256 тыс. UL. Итак, я установил значения следующим образом:
DOWNLINK=1000
UPLINK=220
DEV=eth1
Все, что я знаю наверняка, это то, что эти значения должны быть "несколько" меньше полной полосы пропускания DSL, но я не знаю, как рассчитать оптимальное значение. Я предполагаю, что если значение слишком низкое, я буду чрезмерно ограничивать общую пропускную способность, а если оно слишком высокое, я буду препятствовать правильной организации очереди.
Мой вопрос: какие инструменты, практические правила или вычисления я использую, чтобы найти оптимальные значения для параметра скорости?
1 ответ
Я реализовал tc на прошлой неделе, используя тот же скрипт в качестве основы.
(некоторые из этих советов относятся к этому сценарию)
Для начала, он говорит, что он установлен на 90 для его линейной скорости 128. Мой апрейт равен 320, что в 2,5 раза больше, поэтому я начал с 90*2.5 = 225. Я закончил с 240 или 260, я думаю, но это работает довольно хорошо.
Одна вещь, которую я не учел, может быть проблемой для вас, это то, что ограничения сценариев основаны на $DEV, но у моей машины был только один интерфейс, поэтому он также ограничивал трафик локальной сети. Чтобы исправить это, я остановил пул 26 (самый медленный), являющийся классом по умолчанию для всех (удалите слово "по умолчанию"), и поместил последнее правило в том, что все исходящие сообщения, которые не относятся к месту назначения моей локальной подсети, должны быть класса 26.
В моем случае я также удалил все строки кода ограничения скорости нисходящего потока, потому что единственный большой нисходящий поток, который я делаю, это торренты, и он все равно ограничен клиентским приложением. Это делает весь сценарий намного более управляемым для понимания, и в моем случае все еще прекрасно работает. Кроме того, сама веб-страница говорит, что вы можете реально ограничить скорость загрузки с какой-либо реальной уверенностью.
В моем случае загрузка 75% моей полосы пропускания снизила бы мою скорость загрузки до доли полной скорости, и такие вещи, как удаленный ssh-вход, были бы непригодны. Теперь все исправлено, и я очень доволен этим.
Надеюсь, это поможет.
редактирование: О, и я также удалил линию mtu 1000, потому что интерфейс в моем случае также несет гигабитный сетевой трафик.