Jump to content

Recommended Posts

Posted (edited)

Ядро 2.6.26

CONFIG_NO_HZ=y

 

На интерфейсе в качестве root qdisc висит htb от него отходит около 1700 классов(каждый класс отдает клиенту нужную полосу), на которые вешается sfq:

qdisc htb ff0b: root r2q 10 default 1 direct_packets_stat 0
qdisc sfq 1: parent ff0b:1 limit 127p quantum 1514b perturb 10sec
qdisc sfq 2: parent ff0b:2 limit 127p quantum 1514b perturb 10sec
qdisc sfq 3: parent ff0b:3 limit 127p quantum 1514b perturb 10sec
......
qdisc sfq 6b8: parent ff0b:6b8 limit 127p quantum 1514b perturb 10sec

class htb ff0b: root rate 47000Kbit ceil 47000Kbit burst 1592b/8 mpu 0b overhead 0b cburst 1592b/8 mpu 0b overhead 0b level 7
Sent 26503240 bytes 19524 pkt (dropped 0, overlimits 0 requeues 0)
rate 509512bit 47pps backlog 0b 0p requeues 0
lended: 16928 borrowed: 0 giants: 0
tokens: 254 ctokens: 254

каждому клиенту отдается класс вида:

class htb ff0b:41f parent ff0b: leaf 41f: prio 1 quantum 1500 rate 27336bit ceil 512000bit burst 1599b/8 mpu 0b overhead 0b cburst 1599b/8 mpu 0b overhead 0b level 0
Sent 28272881 bytes 18787 pkt (dropped 0, overlimits 0 requeues 0)
rate 507000bit 42pps backlog 0b 30p requeues 0
lended: 1018 borrowed: 17739 giants: 0
tokens: -351932 ctokens: -23191

При этом сумма всех рейтов дочерних классов равна рейту и цейлу родительского класса.

Проблема заключается в том что никогда в классе четко не дерится ceil.

 

Для примера оставил активным только одного клиента (но все 1700 классов заведены) с rate 27336bit ceil 512000bit. Наблюдается такая ситуация: в течении 30сек скорость планомерно подымается от 240000bit до 490000bit, еще в течении 2минут подымается до 506000-508000 и держится примерно на этом уровне иногда опускаясь до 502000bit по данным tc -s -d:

class htb ff0b:41f parent ff0b: leaf 41f: prio 1 quantum 1500 rate 27336bit ceil 512000bit burst 1599b/8 mpu 0b overhead 0b cburst 1599b/8 mpu 0b overhead 0b level 0
Sent 28272881 bytes 18787 pkt (dropped 0, overlimits 0 requeues 0)
rate 507000bit 42pps backlog 0b 30p requeues 0
lended: 1018 borrowed: 17739 giants: 0
tokens: -351932 ctokens: -23191

С клиента закачка осуществляется wget-ом, wget показывает скорость пляшет от 56КБ/с до 62КБ/с.

Можно ли добиться от HTB большей точности в данной ситуации или это последствия большого количества дочерних классов?

Edited by DemYaN
Posted

имхо, cburst надо задирать.

по моим экспериментальным данным, на скорости 512kbit cburst должен быть 6...7KByte

для себя экспериментально вывел такую зависимость:

CBURST[KByte]=CEIL[KBit]/80

 

Posted

Попробовал cburst 6399b/8:

class htb ff0b:41f parent ff0b: leaf 41f: prio 1 quantum 1500 rate 27336bit ceil 512000bit burst 1599b/8 mpu 0b overhead 0b cburst 6399b/8 mpu 0b overhead 0b level 0
Sent 10196357 bytes 6791 pkt (dropped 0, overlimits 0 requeues 0)
rate 504640bit 42pps backlog 0b 26p requeues 0
lended: 381 borrowed: 6384 giants: 0
tokens: -57793 ctokens: -23192

также ситуация, только в начале за счет дополнительных ctoken скорость подпрыгивает на пару секунд

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.