distributed performance test

Sean Hinde <>
Mon Apr 25 23:37:49 CEST 2005


Sorry, I have no idea whatsoever on that one.

Sean

On 25 Apr 2005, at 18:26, Serge Aleynikov wrote:

> Thanks Sean,  I'll play with erlsnoop when I have more time.
>
> For now the only outstanding issue I have is listed here:
>
> http://www.erlang.org/ml-archive/erlang-questions/200504/msg00274.html
> http://www.erlang.org/ml-archive/erlang-questions/200504/msg00286.html
>
> If you happened to have similar experiences, please do let me know.  
> :-(
>
> Regards,
>
> Serge
>
> Sean Hinde wrote:
>> On 25 Apr 2005, at 17:49, Serge Aleynikov wrote:
>>> 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:
>>>
>>> ()15> test_client:test_erl(, 10, 500).
>>>   -> AvgTime=0.022 (45.360 c/s)
>>>
>>> ()17> test_client:test_udp({10,227,1,200}, 10, 500).
>>>   -> AvgTime=0.000 (3355.705 c/s)
>>>
>>> ()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:
>>> ()19> test_client:test_erl(, 10, 500).
>>>   -> AvgTime=0.000 (2450.980 c/s)
>>>
>>> (Note: it's still a bit slower than when using TCP/UDP sockets).
>> Yes, this also matches with my experience. In fact it prompted us to 
>> write our own simpler RPC mechanism as we needed extreme performance 
>> for one of our applications.
>> It would be interesting to run profilers and trace to see where the 
>> extra time has gone. I have never used it, but erlsnoop might be 
>> helpful:
>> http://www.erlang.org/contrib/erlsnoop-1.0.tgz
>> Sean




More information about the erlang-questions mailing list