[Spread-users] spread performance testing

Ryan Caudy caudy at jhu.edu
Mon Apr 19 15:11:44 EDT 2004


I just did similar tests to those I described, and to those you showed 
results from.  The following are the results:

[[Tests similar to yours.]]

$ java Flooder -p 9903 -ro
Only receiving messages
Completed 1000 messages
Completed 2000 messages
Completed 3000 messages
Completed 4000 messages
Completed 5000 messages
Completed 6000 messages
Completed 7000 messages
Completed 8000 messages
Completed 9000 messages
Completed 10000 messages
Time: 3061ms (24.92 Mbps)

These results are meaningless... this process waits for a while before
I start the second process.

$ java Flooder -m 10000 -b 1024 -p 9903
Starting multicast of 10000 messages, 1024 bytes each.
Completed 1000 messages
Completed 2000 messages
Completed 3000 messages
Completed 4000 messages
Completed 5000 messages
Completed 6000 messages
Completed 7000 messages
Completed 8000 messages
Completed 9000 messages
Completed 10000 messages
Time: 1625ms (96.15 Mbps)

These results show worse performance than my other tests (below), but my 
best guess is just that there is a performance hit to using Java.  Note 
that (a) I used a read/write daemon, not a write-only, for accurate 
results, and (b) the output Mbps value above is twice what the real 
number should be, because of a funky calculation in the Java Flooder.

[[Tests similar to mine.]]

$ time spflooder -s 9903 -ro
flooder: connecting to 9903
flooder: Only receiving messages
flooder: completed   1000 messages of 1000 bytes
flooder: completed   2000 messages of 1000 bytes
flooder: completed   3000 messages of 1000 bytes
flooder: completed   4000 messages of 1000 bytes
flooder: completed   5000 messages of 1000 bytes
flooder: completed   6000 messages of 1000 bytes
flooder: completed   7000 messages of 1000 bytes
flooder: completed   8000 messages of 1000 bytes
flooder: completed   9000 messages of 1000 bytes
flooder: completed  10000 messages of 1000 bytes
flooder: completed multicast of 10000 messages, 1000 bytes each.

real    0m4.053s
user    0m0.010s
sys     0m0.120s

These results (for a read-only flooder started first) are meaningless, 
as mentioned above.

$ time spflooder -s 9903 -m 10000 -b 1000
flooder: connecting to 9903
flooder: starting  multicast of 10000 messages, 1000 bytes each.
flooder: completed   1000 messages of 1000 bytes
flooder: completed   2000 messages of 1000 bytes
flooder: completed   3000 messages of 1000 bytes
flooder: completed   4000 messages of 1000 bytes
flooder: completed   5000 messages of 1000 bytes
flooder: completed   6000 messages of 1000 bytes
flooder: completed   7000 messages of 1000 bytes
flooder: completed   8000 messages of 1000 bytes
flooder: completed   9000 messages of 1000 bytes
flooder: completed  10000 messages of 1000 bytes
flooder: completed multicast of 10000 messages, 1000 bytes each.

real    0m1.115s
user    0m0.010s
sys     0m0.290s

As you can see, these results for the read/write flooder are similar to 
those I mentioned before, although slightly worse.

I would expect some performance decrease, since you are using Java and 
Windows, but not one as significant as what you showed.  My tests, both 
Java and C, are on Linux kernal 2.4.3-12smp.  It's possible that you 
have problems of some sort on your network.  To diagnose this, you might 
consider looking at status output from spmonitor.

Cheers,
Ryan

Jayesh Maganlal wrote:

> Hi Ryan and all,
> 
> Need urgent help.
> 
> Referring to your (Ryan's) mail below, i conducted a test on my own with the
> same scenario that you mentioned, With two spread daemons running on
> different machines (on a 100 Mbit ethernet), a receive-only spflooder on one
> machine, and a send/receive spflooder on the other, I sent 10000 packets of
> 1000 bytes each. The results that i got is no where near what you mentioned.
> Look at the output below. I don't understand why is it slow. I can do the
> same test using "spsend" and "sprecv" around 1sec. Could it be because of my
> configuration settings that i have. Below is the configuration that i'm
> using. Please advice. Looking forward for your reply.
> 
> Output:
> ===================================================
> C:\spread-bin-3.17.1\win>java Flooder -m 10000 -b 1024 -wo
> Starting multicast of 10000 messages, 1024 bytes each (self discarding).
> Completed 1000 messages
> Completed 2000 messages
> Completed 3000 messages
> Completed 4000 messages
> Completed 5000 messages
> Completed 6000 messages
> Completed 7000 messages
> Completed 8000 messages
> Completed 9000 messages
> Completed 10000 messages
> Time: 6409ms (12.18 Mbps)   <<<< Time taken to send 6.4 seconds
> 
> C:\spread-bin-3.17.1\win>java Flooder -m 10000 -b 1024
> Starting multicast of 10000 messages, 1024 bytes each.
> Completed 1000 messages
> Completed 2000 messages
> Completed 3000 messages
> Completed 4000 messages
> Completed 5000 messages
> Completed 6000 messages
> Completed 7000 messages
> Completed 8000 messages
> Completed 9000 messages
> Completed 10000 messages
> Time: 7051ms (22.15 Mbps)  <<<< Time taken to send 7.051
> ===================================================
> 
> Spread Config file (comments are not in the config file):
> =====================================
> Spread_Segment  192.168.1.255:4803 {
>  Test02 192.168.1.100       <<<<<<<<<<<<<<<<<<--------  receiver machine
>  Test04 192.168.1.10         <<<<<<<<<<<<<<<<<---------sender machine
> }
> 
> 
> Thank you.
> Regards,
> Jayesh
> 

-- 
Ryan W. Caudy
Center for Networking and Distributed Systems
Department of Computer Science
Johns Hopkins University




More information about the Spread-users mailing list