distributed performance test

Serge Aleynikov serge@REDACTED
Mon Apr 25 18:49:47 CEST 2005


Sean Hinde wrote:
>> P.S. The only question I have remaining is why would half-duplex 
>> setting not have any speed impact on a single client talking to a 
>> synchronous server, but only on multiple clients...
> 
> 
> Well, I guess that a single client is actually only exercising half of a 
> duplex. There is never any time when traffic wants to flow both ways at 
> the same time.

You know, I forgot to mention another interesting fact.  When I tried to 
troubleshoot this issue, I extended my test_client/test_server to be 
able to send/receive messages using three transports: erlang/tcp/udp. 
Here are the results of my tests when the eth0 was set to half-duplex:

(n1@REDACTED)15> test_client:test_erl(n2@REDACTED, 10, 500).
   -> AvgTime=0.022 (45.360 c/s)

(n1@REDACTED)17> test_client:test_udp({10,227,1,200}, 10, 500).
   -> AvgTime=0.000 (3355.705 c/s)

(n1@REDACTED)18> test_client:test_tcp({10,227,1,200}, 10, 500).
   -> AvgTime=0.000 (3144.654 c/s)

So, if your statement were true, then it would've had impact on all 
tcp/udp/erlang transports, wouldn't it?  Yet in this case somehow it 
only impacted Erlang's message passing speed.

After converting eth0 to full-duplex:
(n1@REDACTED)19> test_client:test_erl(n2@REDACTED, 10, 500).
   -> AvgTime=0.000 (2450.980 c/s)

(Note: it's still a bit slower than when using TCP/UDP sockets).

The modified implementation is attached for reference.

Serge


-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: test_client.erl
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20050425/2b0c8943/attachment.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: test_server.erl
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20050425/2b0c8943/attachment-0001.ksh>


More information about the erlang-questions mailing list