Patch to add burst to dummynet ?
Luigi Rizzo
rizzo at icir.org
Tue Feb 21 08:25:30 PST 2006
On Tue, Feb 21, 2006 at 08:15:37AM -0800, Donald Baud wrote:
> > On Tue, Feb 21, 2006 at 06:57:10AM -0800, Donald
> > Baud wrote:
> > >
> > >
> > > --- Luigi Rizzo <rizzo at icir.org> wrote:
> > ...
> > > > of course you get the same throughput!
> > > > the burst is just a constant in the time it
> > takes to
> > > > transfer data,
> > > > and it is independent of the data size.
> > irrespective
> > > > of the file
> > > > size you'll just finish (burst_size/bandwidth)
> > > > seconds earlier.
> > > >
> > > > cheers
> > > > luigi
> > >
> > > I ran two tests with the following ipfw rules:
> > > ipfw pipe 10 config bw 10kbit/s
> > > ipfw add 5 pipe 10 ip from 10.0.0.1 to me
> > > == with: if (len_scaled > q->numbytes) ==
> > > wget --progress=dot some_file
> > > 0K .......... .......... 0% 1.13 KB/s
> > > 50K .......... .......... 1% 1.14 KB/s
> > > 100K .......... .......... 2% 1.14 KB/s
> > > 150K .......... .......... 3% 1.14 KB/s
> > >
> > > == with: if (len_scaled > q->numbytes + 100000 )
> > > wget --progress=dot some_file
> > > 0K .......... .......... 0% 1.13 KB/s
> > > 50K .......... .......... 1% 1.14 KB/s
> > > 100K .......... .......... 2% 1.14 KB/s
> > > 150K .......... .......... 3% 1.14 KB/s
>
> >
> > and so ? as i said, the throughtput is the same, you
> > just see things happening a little bit (very little,
> > usually) earlier,
> > and your experiment has no notion of time, and
> > furthermore there are so many factors influencing
> > the throughput and the numbers printed by wget
> > that it's hard to tell how can you see the
> > difference.
> >
> > assuming, of course, that the patch i suggested
> > works, which i
> > think but cannot guarantee.
> >
> > cheers
> > luigi
> >
>
> Are you saying that wget bandwidth reading is
> incorrect? I expected to see full speed of the pipe
> for the first 100KBytes.
if you see just one line above your patch, len_scaled is computed as
int len_scaled = p->bandwidth ? len*8*hz : 0 ;
so your '100000' correspond (with HZ=1000) to an actual burst
of 100 bits or 12.5 bytes so hardly measurable.
secondly, as i said the throughput is limited by many many factors
even without dummynet (or just because you have traffic going through
other pipes, etc.).
finally, i don't know how wget computes times so it may
be correct or not, i have no idea. since many programs
do wrong things in computing bandwidths i wouldn't
give for granted that wget is correct in all situations.
bye
luigi
> I even commented out:
> /*
> if (len_scaled > q->numbytes)
> break ;
> */
> While I would have expected full throughput, I got
> only ~10X the speed of the pipe:
>
> 0K .......... .......... 0% 8.30 KB/s
> 50K .......... .......... 1% 20.70 KB/s
> 100K .......... .......... 2% 13.80 KB/s
> 150K .......... .......... 3% 13.80 KB/s
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
> _______________________________________________
> freebsd-ipfw at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-ipfw
> To unsubscribe, send any mail to "freebsd-ipfw-unsubscribe at freebsd.org"
More information about the freebsd-ipfw
mailing list