From azin.neishaboori at gmail.com Fri Nov 30 17:05:27 2018 From: azin.neishaboori at gmail.com (Azin Neishaboori) Date: Fri, 30 Nov 2018 17:05:27 -0500 Subject: monitoring queue length Message-ID: Hi Pardon me if this is too elementary a question. But I am not sure how to see the length of a queue on an interface. I have changed the qdisc configuration from default pfifo_fast to pfifo to get statistics. All I see though is a report on backlog. The output I see is like this: Sent 938609238 bytes 780809 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 I do not know if this backlog is indeed queue length or not. It seems strange to be queue length, because even when I flood the network with high UDP data rates over capacity, it still shows 0b of backlog. Am I looking at the wrong parameter? If so, could you please point out the tool that shows the instantaneous queue length? Thanks a lot -------------- next part -------------- An HTML attachment was scrubbed... URL: From chromatix99 at gmail.com Fri Nov 30 22:13:41 2018 From: chromatix99 at gmail.com (Jonathan Morton) Date: Sat, 1 Dec 2018 05:13:41 +0200 Subject: monitoring queue length In-Reply-To: References: Message-ID: <3D0D58C0-B601-413B-B3EA-80C396E6187B@gmail.com> > On 1 Dec, 2018, at 12:05 am, Azin Neishaboori wrote: > > I do not know if this backlog is indeed queue length or not. It seems strange to be queue length, because even when I flood the network with high UDP data rates over capacity, it still shows 0b of backlog. Am I looking at the wrong parameter? If so, could you please point out the tool that shows the instantaneous queue length? There are two potential points of confusion here: 1: Linux throttles both TCP and UDP at the application socket level to prevent queues building up in the qdiscs and HW devices. If it's your machine producing the packets, that's probably the effect you're seeing; there'll be a few packets queued in the HW (invisibly) and none in the qdisc. That's approximately true regardless of which qdisc is in use, though with a shaping qdisc you might see a few packets collect there instead of in the HW. 2: If your traffic is coming from outside, it won't be queued upon receipt unless you introduce an artificial bottleneck. There are ways of doing that. For queuing experiments, we normally set up a "dumbbell" topology in which two different machines act as source and drain of traffic, and a third machine in the middle acts as a network emulator with artificial delays, losses and bandwidth limits. That middlebox is where you would then observe the queuing. - Jonathan Morton