<html><head><meta name="qrichtext" content="1" /></head><body style="font-size:13pt;font-family:Arial">
<p>A while ago I did some performance tests on an erlang TCP application we have developped here.</p>
<p>After adjusting some kernel and erlang parameters, I managed to accept 300.000 TCP connections on one machine (distributed over 6 erlang nodes because each process can only have max. about 65.000 connections).  I ran erlang on Sun T1000 hardware with Solaris 10.</p>
<p></p>
<p>Regards,</p>
<p>Johannes</p>
<p></p>
<p>On Tuesday 26 June 2007 11:19:07 Gaspar Chilingarov wrote:</p>
<p>> Jeremy Chow wrote:</p>
<p>> > I've tried use command ulimit to increase the file descriptors number to</p>
<p>> > 10240.</p>
<p>> > but the connections number was no more than 1024, sometimes is 1017,</p>
<p>> > sometimes is 1018.</p>
<p>></p>
<p>> it depends how much files descriptors already allocated by this user at</p>
<p>> the moment -- because file descriptor limit is set for users and not for</p>
<p>> 1 process.</p>
<p>></p>
<p>> Anyway, after some experiments with FreeBSD I was able to push max</p>
<p>> connection count to 4999 open connections</p>
<p>></p>
<p>> You should tune sysctl's to increase a hard limits</p>
<p>>   kern.maxfiles: 25000</p>
<p>>   kern.maxfilesperproc: 20000</p>
<p>></p>
<p>> I've also tried to increase kern.ipc.nmbclusters=64000 but without success.</p>
<p>></p>
<p>> Are there any limit in 5000 FD's hard coded in erlang???</p>
<p>></p>
<p>> Setting ERL_MAX_PORTS also does not change the situation.</p>
<p>></p>
<p>> /Gaspar</p>
<p></p>
</body></html>