[Click] generating artificial delay

Simon Schuetz simon.schuetz at netlab.nec.de
Mon Mar 22 10:40:09 EST 2004


On Fri, 2004-03-19 at 19:26, Eddie Kohler wrote:
> Simon Schuetz wrote:
> > Hi,
> > I am using the following configuration
> > FromDevice(eth0) -> Queue -> DelayUnqueue(0.05) -> ToHost(eth0)
> > FromDevice(eth2) -> Queue -> DelayUnqueue(0.05) -> ToHost(eth2)
> > This implies a round trip delay of 100ms.
> > It works, but I experience severe performance problems.
> > I tried to used only
> > FromDevice(eth2) -> Queue -> DelayUnqueue(0.1) -> ToHost(eth2)
> > so that there is only one queue to handle (but same round trip delay),
> > and got the same results. The maximum TCP throughput I measured using
> > IPerf is about 2.3 MBit/s. If I unload the click router module, I have a
> > round-trip delay of less than 1ms, and a throughput of about 70MBit/s.
> 
> Hi Simon,
> 
> Why are you sending the packets ToHost?  Why not ToDevice?

For the first I wanted to use the "easiest" possible configuration, and
I have to choose routes either sending eth2->eth0 and eth2->eth1
depending on the destination address. I know this can be done somehow
with click router, but I didn't want to go into details.

> 
> Can you measure the performance of
> 
> FromDevice(eth0) -> ToHost(eth0)
> FromDevice(eth2) -> ToHost(eth2)
> -- is it any better?  (I'd guess not.)

This poses nearly NO performance loss. Even
FromDevice(eth0) -> Queue -> DelayUnqueue(0) -> ToHost(eth0)
does not really influence performance.
When applying 1ms of delay, the router has already a system CPU usage of
about 90%, from 3ms on, nearly 100%.

I will now try to do the routing with click router or just put a new PC
in the middle that does nothing than delaying and forwarding the
packets. 

Simon


> 
> Click is not designed to get maximum performance when Linux does most of 
> the routing.
> 
> Eddie
> 



More information about the click mailing list