TCP stack throughput

Jani Launonen <>
Mon Jul 4 19:25:56 CEST 2005


> So this means 500 simultanous connection requests on Solaris and about 300 on 
> Mac OSX (FreeBSD). My question, I suppose, is whether this is high enough.

My Linux did also 500 without problem, but I didn't push it further.

> Is there a limitation in Erlang or is this maxing out the platform TCP stack?

Have you tried to trace or any other tool? Unfortunately I'm not able to 
help you with those.

> What do you folks recon?

Are sure that this test does measure the poker game behaviour? I do have my 
doubts, but on the other hand, it's just a hunch. Have you checked Klacke's 
Yaws? Apparently it uses a pool of processes waiting for jobs.

Perhaps you might check this out:
http://www.trapexit.org/docs/howto/simple_non_blocking_pattern.html

By the way --- I tried to change the factorial to tail recursive version in 
anticipation that constant memory space might help take pressure off EVM's 
memory management, but it didn't do anything obvious to help situation.

>    Thanks, Joel
>
> On Jul 4, 2005, at 4:39 PM, Ulf Wiger (AL/EAB) wrote:
>> 
>> With {backlog, 1024}, I could do 500 clients on Solaris.
>> Increasing the connect() timeout to 60 seconds, I could
>> just barely manage 900. No connections refused or reset.
>> 
>> On Windows 2000, the large backlog enabled 50 clients, but
>> 100 was too much. Lots of 'econnrefused'.
>
> --
> http://wagerlabs.com/tech
>
>

-+-+-+-
Jani Launonen



More information about the erlang-questions mailing list