LINUX.ORG.RU
ФорумAdmin

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


0

0

Привет всем. У меня возникла проблема с настройкой НТВ для локальной сети. Суть вот в чём: сам НТВ работает и делит полосу пропускания канала как следует, но при перераспределении полос получается небольшая задержка (порядка 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 - есть некоторое улучшение, но полностью проблему не снимает.

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

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

Ситуация вполне нормальная. Дело в том что bursty traffic плохо обрабатывается алгоритмами QoS, которые часто используют для измерения объема данных EWMA на какой-либо период.

Впринципе, поигравшись с параметром burst для класса ниже по иерархии, чем корневой (т.е. сделав параметр burst для корневого класса меньше, чем для класса игрушек), можно добиться приемлимого поведения.

Вобщем и целом, конечно, проблема в генетике самого QoS, но, по-моему во всех реализациях.

Zloy_Krys
()

Интересная тема, но ведь как то эту проблему побороть можно Ведь провайдеры как то полосу режут

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.