distributed performance test
Serge Aleynikov
serge@REDACTED
Mon Apr 25 19:26:50 CEST 2005
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:
>>
>> (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).
>
>
> 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