TCP stack throughput
Joel Reymont
joelr1@REDACTED
Mon Jul 4 15:26:32 CEST 2005
Folks,
After having problems with the test harness for my poker server I
decided to set up a simple test. Could someone please explain the
results to me?
I'm on Mac OSX 10.4.1 and the number of descriptors per process (set
with ulimit -n) is 10240. I'm also wondering what the results would
be when running this test on your platforms.
The files are at http://wagerlabs.com/fac.erl and http://
wagerlabs.com/tcp_server.erl. The server is Joe's code with slightly
different TCP settings.
I'm first launching the tcp server to handle factorial requests. I
then launch, say, 100 clients very rapidly to calculate the
factorial. Here, without further ado are the results of my test.
Try increasing the last parameter to 50 or 100 to see the number of
refused connections go much higher.
c-fd82e055:~/work/code-dump joelr$ erl
Erlang (BEAM) emulator version 5.4.8 [source] [hipe] [threads:0]
Eshell V5.4.8 (abort with ^G)
1> fac:start(5000).
Starting a port server on 5000...
{ok,<0.33.0>}
2> fac:fac(localhost, 5000, 20, 20).
ok
#1: Calculating factorial(20)
#2: Calculating factorial(20)
#3: Calculating factorial(20)
#4: Calculating factorial(20)
#5: Calculating factorial(20)
#6: Calculating factorial(20)
#1: fac(20) = 2432902008176640000
#2: fac(20) = 2432902008176640000
#3: fac(20) = 2432902008176640000
#4: fac(20) = 2432902008176640000
#7: Calculating factorial(20)
#8: Calculating factorial(20)
#5: fac(20) = 2432902008176640000
#6: fac(20) = 2432902008176640000
#7: fac(20) = 2432902008176640000
#8: fac(20) = 2432902008176640000
#13: Calculating factorial(20)
#13: fac(20) = 2432902008176640000
#12: start_client: {error,econnreset}
#14: start_client: {error,econnreset}
#15: start_client: {error,econnreset}
#16: start_client: {error,econnreset}
#17: start_client: {error,econnreset}
#18: start_client: {error,econnreset}
#19: start_client: {error,econnreset}
#20: start_client: {error,econnreset}
#11: Calculating factorial(20)
#10: Calculating factorial(20)
#9: Calculating factorial(20)
#11: fac(20) = 2432902008176640000
#9: fac(20) = 2432902008176640000
#10: fac(20) = 2432902008176640000
--
http://wagerlabs.com/tech
More information about the erlang-questions
mailing list