Inline...

On 3/16/07, Lothar Braun <[EMAIL PROTECTED]> wrote:
> Hi Aaron,
>
> On Saturday 24 February 2007 18:06:48 Aaron Turner wrote:
>
> Uh, i somehow missed this mail.
>
> > Anyways, since my results are very different from yours, I was hoping
> > you could send me the exact command lines you were using for beta12 &
> > 2.3.5 as well as the pcap involved.
>
> I don't have the former dump any more, but i created a new file and got the
> following results on my laptop (Intel Celeron M processor 1.40GHz with 1 GB
> RAM)
>
> 2.3.5:
> [EMAIL PROTECTED] tcpreplay-2.3.5]# ./tcpreplay -i eth0 -l 50000 -R dump
> sending on: eth0
>  1450000 packets (230700000 bytes) sent in 5.56 seconds
>  41440275.0 bytes/sec 316.16 megabits/sec 260461 packets/sec

316Mbps?  Damn.  You say this is a 1.4Ghz celeron?  My 2.16Ghz
Core2Duo (macbook pro) only 180Mbps.  What OS & version?  What NIC?
Any performance tweaks you've done?

> beta12:
> [EMAIL PROTECTED] tcpreplay-3.0.beta12]# ./src/tcpreplay -i eth0 -l 50000 -t 
> dump
> processing file: dump
> > [repeated]
> processing file: dump
> Actual: 1450000 packets (230700000 bytes) sent in 10.96 seconds
> Rated: 21043968.8 bps, 160.55 Mbps/sec, 132265.95 pps

More like what I would expect.

> After doing that, i commented out line 141 in src/tcpreplay.c
>
> 141     //notice("processing file: %s", path);
>
> recompiled and tried again:
>
> [EMAIL PROTECTED] tcpreplay-3.0.beta12]# ./src/tcpreplay -i eth0 -l 50000 -t 
> dump
> sending out eth0
> Actual: 1450000 packets (230700000 bytes) sent in 3.22 seconds
> Rated: 71636685.6 bps, 546.54 Mbps/sec, 450252.25 pps
>
> As you can see, there is a heavy speed up. 3.0 got even faster than 2.3.5.

Wow, your terminal really has a stiff performance hit doesn't it?  Can
you redirect stderr to a file and check the results?  My guess is you
will see things improve significantly.

Anyways, I've added a --quiet option to tcpreplay which skips the
notices all together.  It'll be part of 3.0.RC1.

> After that i tried the -p option with 2.3.5 and beta12 (the one that included
> the above comment):
>
> 2.3.5:
> [EMAIL PROTECTED] tcpreplay-2.3.5]# ./tcpreplay -i eth0 -l 1000 -p 4000 dump
> sending on: eth0
>  29000 packets (4614000 bytes) sent in 7.22 seconds
>  638889.8 bytes/sec 4.87 megabits/sec 4015 packets/sec
>
> beta12:
> [EMAIL PROTECTED] tcpreplay-3.0.beta12]# ./src/tcpreplay -i eth0 -l 1000 -p 
> 4000
> dump
> sending out eth0
> Actual: 29000 packets (4614000 bytes) sent in 8.36 seconds
> Rated: 574150.6 bps, 4.38 Mbps/sec, 3608.66 pps
>
> You'll notice that the difference between the actual and the desired speed is
> less than 1% on 2.3.5 and almost 10% on beta12.

Very unfortunate, but not shocking.  4000pkts/sec is a hard rate to
match using nanosleep() which often has a resolution closer to 1 to
10ms.   Unfortunately, my testing of the --accurate flag in 3.0.beta12
isn't showing much better (it uses a gettimeofday() loop for timing,
but this syscall is relatively expensive).  Basically when you need to
spread 4000 events evenly over a second (or once every .25ms) things
get crappy really quick when your timer resolution is 4 to 40 times
that.

Anyways, fixing this is part of ticket #41.

Regards,
Aaron

-- 
Aaron Turner
http://synfin.net/
http://tcpreplay.synfin.net/ - Pcap editing & replay tools for Unix

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Tcpreplay-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tcpreplay-users

Reply via email to