LINUX.ORG.RU

Сообщения andrew_ronin

 

HTB: задержки при перераспределениях траффика

Форум — Admin

Привет всем. У меня возникла проблема с настройкой НТВ для локальной сети. Суть вот в чём: сам НТВ работает и делит полосу пропускания канала как следует, но при перераспределении полос получается небольшая задержка (порядка 1-2 сек), в результате чего он-лайновая игрушка LineAge III тормозит. Также подозреваю (но не уверен) что происходит и некоторая потеря пакетов. Траффик игрушки имеет приоритет выше чем остальной траффик (кроме интерактивного, типа SSH, а он мало потребляет и вообще мало используется), но всё равно тормоза наблюдаются.

Для более детальной информации:
gate:~ # uname -a
Linux gate 2.6.16.5 #1 Fri Apr 21 21:21:51 EEST 2006 i686 i686 i386 GNU/Linux
gate:~ #
Система: SuSE Linux Enterprise Server 9.0

Вот список основных классов траффика:

tc class add dev eth0 parent 1:1 classid 1:2 htb rate 6kbit ceil 128kbit burst 15k prio 0 #class "interactive"
tc class add dev eth0 parent 1:1 classid 1:3 htb rate 64kbit ceil 128kbit burst 15k prio 1 #class "games"
tc class add dev eth0 parent 1:1 classid 1:4 htb rate 40kbit ceil 128kbit burst 15k prio 2 #class "browsing"
tc class add dev eth0 parent 1:1 classid 1:5 htb rate 12kbit ceil 128kbit burst 15k prio 5 #class "downloads"
tc class add dev eth0 parent 1:1 classid 1:6 htb rate 1kbit ceil 128kbit burst 15k prio 7 #class "default"

Согласно данному раскладу, каждому классу выделяется гарантированный минимум (параметр rate) и максимум, равный ширине канала (параметр ceil). Если кто-то начинает закачку, то она занимает свой гарантированный минимум, и часть незанятой полосы канала, если таковая есть. Игрушка LineAge потребляет траффик не постоянно, а всплесками. Соответственно, часть полосы, выделенной для игрушки между всплесками траффика перераспределяется между полосами, которые потребляют траффик непрерывно (закачки). При последующем всплеске игрушки, полоса снова перекраивается, но с протормаживанием, которое для игры критично - она не только тормозит, но и коннет к игровому серверу рвёт.
Если уменьшить параметр ceil для всех классов, кроме игрушки, то всё нормально. Однако, это решение неприемлемо: при этом значительная часть канала будет простаивать, особенно когда никто в игру не играет.
Пробовал "поиграть" с параметром burst - есть некоторое улучшение, но полностью проблему не снимает.

Если кто-то стыкался с такой проблемой - подскажите, пожалуйста, возможные варианты её решения. Заранее благодарен.

С уважением,
Андрей

andrew_ronin
()

RSS подписка на новые темы