Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Stanislav Sviridenko                 2:5020/400     19 May 2005  15:54:38
 To : All
 Subject : HTB Потеря полосы
 -------------------------------------------------------------------------------- 
 
 Здраствуйте,
     продолжаю свои мытарства с QoS. Есть роутер с двумя Ethernet сетевыми 
 картами, eth0 смотрит в общую сеть, eth1 смотрит на клиентов. Создаю скрипт:
 ------------------------------------------------------------
 #!/bin/sh
 
 CEIL=10
 IFACE=eth1
 
 tc qdisc del dev eth0 root
 tc qdisc del dev eth1 root
 
 tc qdisc add dev ${IFACE} root handle 1: htb default 15
 tc class add dev ${IFACE} parent 1: classid 1:1 htb rate ${CEIL}mbit ceil 
 ${CEIL}mbit
 tc class add dev ${IFACE} parent 1:1 classid 1:10 htb rate 80kbit ceil 
 80kbit prio 0
 tc class add dev ${IFACE} parent 1:1 classid 1:11 htb rate 80kbit ceil 
 ${CEIL}mbit prio 1
 tc class add dev ${IFACE} parent 1:1 classid 1:12 htb rate 20kbit ceil 
 ${CEIL}mbit prio 2
 tc class add dev ${IFACE} parent 1:1 classid 1:13 htb rate 20kbit ceil 
 ${CEIL}mbit prio 2
 tc class add dev ${IFACE} parent 1:1 classid 1:14 htb rate 10kbit ceil 
 ${CEIL}mbit prio 3
 tc class add dev ${IFACE} parent 1:1 classid 1:15 htb rate 30kbit ceil 
 ${CEIL}mbit prio 3
 tc qdisc add dev ${IFACE} parent 1:10 handle 100: sfq perturb 10
 tc qdisc add dev ${IFACE} parent 1:11 handle 110: sfq perturb 10
 tc qdisc add dev ${IFACE} parent 1:12 handle 120: sfq perturb 10
 tc qdisc add dev ${IFACE} parent 1:13 handle 130: sfq perturb 10
 tc qdisc add dev ${IFACE} parent 1:14 handle 140: sfq perturb 10
 tc qdisc add dev ${IFACE} parent 1:15 handle 150: sfq perturb 10
 
 #SSH
 tc filter add dev ${IFACE} protocol ip parent 1:0 prio 1 u32 match ip 
 protocol 0x06 0xff match ip sport 22 0xffff flowid 1:10
 
 #VPN
 tc filter add dev ${IFACE} protocol ip parent 1:0 prio 1 u32 match ip 
 protocol 0x06 0xff match ip sport 1723 0xffff flowid 1:15
 tc filter add dev ${IFACE} protocol ip parent 1:0 prio 1 u32 match ip 
 protocol 0x2f 0xff flowid 1:15
 
 #DNS
 tc filter add dev ${IFACE} protocol ip parent 1:0 prio 1 u32 match ip 
 protocol 0x11 0xff match ip sport 53 0xffff flowid 1:10
 
 #Contra
 tc filter add dev ${IFACE} protocol ip parent 1:0 prio 1 u32 match ip 
 protocol 0x11 0xff match ip sport 27015 0xffff flowid 1:10
 tc filter add dev ${IFACE} protocol ip parent 1:0 prio 1 u32 match ip 
 protocol 0x11 0xff match ip sport 27016 0xffff flowid 1:10
 tc filter add dev ${IFACE} protocol ip parent 1:0 prio 1 u32 match ip 
 protocol 0x11 0xff match ip dport 27005 0xffff flowid 1:10
 
 #FTP
 tc filter add dev ${IFACE} protocol ip parent 1:0 prio 1 u32 match ip 
 protocol 0x06 0xff match ip sport 21 0xffff flowid 1:15
 tc filter add dev ${IFACE} protocol ip parent 1:0 prio 1 u32 match ip 
 protocol 0x06 0xff match ip sport 20 0xffff flowid 1:15
 ------------------------------------------------------------
 Запускаю закачку, захожу в контру. В статистике
 ------------------------------------------------------------
 # tc -s -d class show dev eth1
 class htb 1:11 parent 1:1 leaf 110: prio 1 quantum 1000 rate 80Kbit ceil 
 10Mbit burst 1699b/8 mpu 0b cburst 14098b/8 mpu 0b level 0
  Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
  lended: 0 borrowed: 0 giants: 0
  tokens: 139264 ctokens: 9240
 
 class htb 1:1 root rate 10Mbit ceil 10Mbit burst 14098b/8 mpu 0b cburst 
 14098b/8 mpu 0b level 7
  Sent 385264750 bytes 260172 pkts (dropped 0, overlimits 0)
  rate 1129068bit 763pps
  lended: 253557 borrowed: 0 giants: 0
  tokens: 5249 ctokens: 5249
 
 class htb 1:10 parent 1:1 leaf 100: prio 0 quantum 1000 rate 80Kbit ceil 
 80Kbit burst 1699b/8 mpu 0b cburst 1699b/8 mpu 0b level 0
  Sent 614536 bytes 5695 pkts (dropped 0, overlimits 0)
  rate 1585bit 17pps
  lended: 5695 borrowed: 0 giants: 0
  tokens: 135332 ctokens: 135332
 
 class htb 1:13 parent 1:1 leaf 130: prio 2 quantum 1000 rate 20Kbit ceil 
 10Mbit burst 1624b/8 mpu 0b cburst 14098b/8 mpu 0b level 0
  Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
  lended: 0 borrowed: 0 giants: 0
  tokens: 532480 ctokens: 9240
 
 class htb 1:12 parent 1:1 leaf 120: prio 2 quantum 1000 rate 20Kbit ceil 
 10Mbit burst 1624b/8 mpu 0b cburst 14098b/8 mpu 0b level 0
  Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
  lended: 0 borrowed: 0 giants: 0
  tokens: 532480 ctokens: 9240
 
 class htb 1:15 parent 1:1 leaf 150: prio 3 quantum 1000 rate 30Kbit ceil 
 10Mbit burst 1636b/8 mpu 0b cburst 14098b/8 mpu 0b level 0
  Sent 384650214 bytes 254477 pkts (dropped 0, overlimits 0)
  rate 1129058bit 747pps
  lended: 920 borrowed: 253557 giants: 0
  tokens: -106980 ctokens: 5280
 
 class htb 1:14 parent 1:1 leaf 140: prio 3 quantum 1000 rate 10Kbit ceil 
 10Mbit burst 1611b/8 mpu 0b cburst 14098b/8 mpu 0b level 0
  Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
  lended: 0 borrowed: 0 giants: 0
  tokens: 1056440 ctokens: 9240
 
 #
 ----------------------------------------
 
 латенси в контре ~ 60-70 ms
 скорость закачки ~ 1 МБпс
 
 Изменяю значение ceil на 7mbit:
 ----------------------------------------
 # tc -s -d class show dev eth1
 class htb 1:11 parent 1:1 leaf 110: prio 1 quantum 1000 rate 80Kbit ceil 
 6Mbit burst 1699b/8 mpu 0b cburst 9099b/8 mpu 0b level 0
  Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
  lended: 0 borrowed: 0 giants: 0
  tokens: 139264 ctokens: 9939
 
 class htb 1:1 root rate 6Mbit ceil 6Mbit burst 9099b/8 mpu 0b cburst 9099b/8 
 mpu 0b level 7
  Sent 112609514 bytes 76785 pkts (dropped 0, overlimits 0)
  rate 5760.13Kbit 489pps
  lended: 73880 borrowed: 0 giants: 0
  tokens: -11183 ctokens: -11183
 
 class htb 1:10 parent 1:1 leaf 100: prio 0 quantum 1000 rate 80Kbit ceil 
 80Kbit burst 1699b/8 mpu 0b cburst 1699b/8 mpu 0b level 0
  Sent 257240 bytes 2494 pkts (dropped 0, overlimits 0)
  rate 1497bit 14pps
  lended: 2494 borrowed: 0 giants: 0
  tokens: 118294 ctokens: 118294
 
 class htb 1:13 parent 1:1 leaf 130: prio 2 quantum 1000 rate 20Kbit ceil 
 6Mbit burst 1624b/8 mpu 0b cburst 9099b/8 mpu 0b level 0
  Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
  lended: 0 borrowed: 0 giants: 0
  tokens: 532480 ctokens: 9939
 
 class htb 1:12 parent 1:1 leaf 120: prio 2 quantum 1000 rate 20Kbit ceil 
 6Mbit burst 1624b/8 mpu 0b cburst 9099b/8 mpu 0b level 0
  Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
  lended: 0 borrowed: 0 giants: 0
  tokens: 532480 ctokens: 9939
 
 class htb 1:15 parent 1:1 leaf 150: prio 3 quantum 1000 rate 30Kbit ceil 
 6Mbit burst 1636b/8 mpu 0b cburst 9099b/8 mpu 0b level 0
  Sent 112403750 bytes 74325 pkts (dropped 0, overlimits 0)
  rate 5783.13Kbit 477pps backlog 34p
  lended: 411 borrowed: 73880 giants: 0
  tokens: -83480 ctokens: -7201
 
 class htb 1:14 parent 1:1 leaf 140: prio 3 quantum 1000 rate 10Kbit ceil 
 6Mbit burst 1611b/8 mpu 0b cburst 9099b/8 mpu 0b level 0
  Sent 0 bytes 0 pkts (dropped 0, overlimits 0)
  lended: 0 borrowed: 0 giants: 0
  tokens: 1056440 ctokens: 9939
 ------------------------------------------------------------
 то же самое
 латенси 17-20
 закачка ~ 723 КБпс
 
 можно еще поварьировать значением ceil, но итог один. чем ближе Ceil по 
 значению к реальной ширине полосы, тем хуже резльтаты (latency 
 увеличивается). получается, что на канале 10 мегабит я не могу использовать 
 всю его пропускную способность и приоритеты - фтп трафик все равно хоть 
 немного но забивает контру. Если же я постепенно начинаю уменьшать значение 
 ceil - контра постепенно приходит в норму (15 ms если нет закачки) ,  но при 
 этом я и теряю в общей пропускной способности. Как же сделать чтобы фтп 
 заимствовала неиспользуемую полосу но при этом не забивала контру на полной 
 ширине канала?
 
 -- 
 С уважением,
 Станислав Свириденко 
 --- ifmail v.2.15dev5.3
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 HTB Потеря полосы   Stanislav Sviridenko   19 May 2005 15:54:38 
 Re: HTB Потеря полосы   Eugene B. Berdnikov   20 May 2005 18:08:11 
Архивное /ru.linux/657714b93862.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional