Hi, I implemented queues on some ports with htb by filtering. and to have a constant bw, i defined rate and ceil the same. But while watching the bw''s, I ve realized they may sometimes exceed the defined value for short periods. How could I avoid this situation? I thought that implementing a leaky bucket''d be fine but i m not sure about this and how to do it on tc. I would be glad if anyone could help me. Thanks, Fatih DUZOVA
Fatih Düzova wrote:> Hi, > I implemented queues on some ports with htb by filtering. and to have > a constant bw, i defined rate and ceil the same. But while watching > the bw''s, I ve realized they may sometimes exceed the defined value > for short periods.How are you measuring this and what rates do you use?> How could I avoid this situation? I thought that > implementing a leaky bucket''d be fine but i m not sure about this and > how to do it on tc. > I would be glad if anyone could help me. Thanks,There are a few things you can do - I don''t know if you really need to. You could specify burst 10b cburst 10b quantum 1500 on the leaf classes. There is also a setting - HYSTERESIS in the defines in net/sched/sch_htb.c that when changed to 0 (need to recompile kernel/module) makes htb a bit more accurate - though I never noticed it affecting rates as such. Andy.
Andy Furniss wrote:> Fatih Düzova wrote: > >> Hi, >> I implemented queues on some ports with htb by filtering. and to have >> a constant bw, i defined rate and ceil the same. But while watching >> the bw''s, I ve realized they may sometimes exceed the defined value >> for short periods. > > > How are you measuring this and what rates do you use?If you are looking at the tc counters then it will look bursty as they report the enque packets/bytes not dequeue - use tcpdump to see dequeue. Andy.