Date: Wed, 13 Nov 2013 17:22:50 -0500 From: Lee Dilkie <lee@dilkie.com> To: Ahmed Hamza <ahmed.hmz@gmail.com>, Julian Elischer <julian@freebsd.org>, freebsd-ipfw@freebsd.org Subject: Re: Bursty data transfer with Dummynet Message-ID: <5283FBBA.8090702@dilkie.com> In-Reply-To: <CAL_s3F6fnsnogJnUmGJFLP9_-n2hX0u87uQA2tAC4euP9kz3Zg@mail.gmail.com> References: <CAL_s3F5Hx0XJ8Nct=urWGN72hrGQ2LT2nJfG3OxgWT5oxtjW9Q@mail.gmail.com> <52830502.30809@freebsd.org> <CAL_s3F7GhrENW4d22h01wYF%2Bf2Kd6b=BomoZ6TP5jR1HQWAQ6g@mail.gmail.com> <52830C51.6020403@freebsd.org> <CAL_s3F6fnsnogJnUmGJFLP9_-n2hX0u87uQA2tAC4euP9kz3Zg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
seriously? you expect that kind of precise timing running in a VM? -lee On 11/13/2013 16:29, Ahmed Hamza wrote: > I'm not sure if this would explain anything. But I am running DummyNet > on a VirtualBox VM on an Ubuntu host. I have also experienced the same > behaviour with both Frenzy (a FreeBSD based LiveCD) and Ubuntu guests. > In the case of Frenzy, the tick was set to 1000Hz. But the host tick > was 250Hz since it is an Ubuntu machine. Also, the delay between > bursts is in order of seconds! My assumption about DummyNet is that > while the queue is being drained new packets will be queued (i.e. > there is no waiting to fill the queues before transmitting them using > the specified bandwidth). > > On Tue, Nov 12, 2013 at 9:21 PM, Julian Elischer <julian@freebsd.org> wrote: >> On 11/12/13, 9:06 PM, Ahmed Hamza wrote: >>> On Tue, Nov 12, 2013 at 8:50 PM, Julian Elischer <julian@freebsd.org> >>> wrote: >>>> On 11/12/13, 6:35 PM, Ahmed Hamza wrote: >>>>> Hi All, >>>>> >>>>> I'm trying to use Dummynet to test the behaviour of my video streaming >>>>> application in various network conditions. Dummynet was compiled and >>>>> installed on an Ubuntu 12.04 box with a 2.6 Linux kernel. I'm >>>>> experiencing a strange behaviour when I reduce the bandwidth of the >>>>> link/path. >>>>> >>>>> For some reason, instead of having a slow download speed. It seems as >>>>> if the download is happening in bursts! A portion of the data is >>>>> downloaded at a high speed, then the data transfer stops for a period >>>>> of time and then resumes again (and so on). Does anyone have an idea >>>>> what could be the cause? Or is this even an expected behaviour? If so, >>>>> why? >>>> >>>> I can't really speak for dummynet on Linux but the granularity of the >>>> queues >>>> is dependent on the timer granularity of the kernel you have and to some >>>> extent will rely on the correct integration of dummynet into the timer >>>> facility of the kernel you are running it in. On freeBSD with a 1kHz >>>> 'tick' >>>> I'd' expect to see packets being release from the queue each mSec or so. >>>> if you are getting second sized chunks then it probably is a bug. Either >>>> dummynet is not compatible with that kind of kernel, something else has >>>> gone >>>> wrong. It COULD also be that you are catching the wrong packets.. I've >>>> seen >>>> similar behaviour when I was accidentally queuing all the acks instead of >>>> all the data going in the other direction, but I presume you have already >>>> checked to see what you are queuing. >>>> >>> Thanks Julian and Matthew for your replies. To clarify my settings, >>> below are the outputs from 'ipfw show' and 'ipfw pipe show'. I should >>> also mention that it seems the by default the Ubuntu kernel is >>> configured for 250Hz, not 1000Hz. >> I would expect that that would give a queue kick every 4 mSec or so so you >> should get a burst every 4mSec or so. >> but your queue is only doing 500kbit/sec or 1/2kbit /msec, or about >> 2kbit/4mSec or 250bytes per tick which is less than a packet. I'm afraid >> you'll have to talk to Luigi to know what happens in such a case.. >> >> >>> root@vm1:~/# ipfw pipe 1 config bw 500Kbit/s queue 500Kbyte >>> >>> root@nsl-vm1:~/# ipfw show >>> 00100 202247 105063701 pipe 1 ip from 192.168.56.4 to any >>> 65535 2245577 2648958386 allow ip from any to any >>> >>> root@nsl-vm1:~/# ipfw pipe show >>> 00001: 500.000 Kbit/s 0 ms 500 KB 1 queues (1 buckets) droptail >>> mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000 >>> BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes >>> Pkt/Byte Drp >>> 0 tcp 192.168.56.1/33547 192.168.56.4/80 238083 134515909 >>> 0 0 623 >>> > _______________________________________________ > freebsd-ipfw@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-ipfw > To unsubscribe, send any mail to "freebsd-ipfw-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5283FBBA.8090702>