Patch to add burst to dummynet ?
Donald Baud
donaldbaud at yahoo.com
Tue Feb 21 08:37:38 PST 2006
> > > > --- 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
> >
Let me ask my question differently then, do you think
it is possible to bypass the pipe restriction (i.e.
burst) for say the first 100KBytes ?
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
More information about the freebsd-ipfw
mailing list