Как настроить параметр скорости 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, потому что интерфейс в моем случае также несет гигабитный сетевой трафик.

Другие вопросы по тегам