I've been busy testing megacomet on an EC2 micro instance. Keep in mind this testing is pretty crummy, given the instance only has 600M memory and i'm running the fake-client-flooding app on the same box as the server. Anyway, i was able to get up to 50k connections open before things started getting slow. I'm not sure if i hit a configuration limit, or a memory limit, or what. Testing continues...
Anyway, here's the 'top' results, showing that 50k connections roughly means 16M memory usage:
top - 08:52:17 up 58 min, 2 users, load average: 0.13, 0.16, 0.22 Tasks: 68 total, 1 running, 67 sleeping, 0 stopped, 0 zombie Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 611212k total, 581608k used, 29604k free, 3760k buffers Swap: 0k total, 0k used, 0k free, 25356k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 22542 root 20 0 10392 2020 116 S 0.0 0.3 0:01.47 megacomet 22548 root 20 0 10400 2016 116 S 0.0 0.3 0:01.48 megacomet 22544 root 20 0 10452 2004 108 S 0.0 0.3 0:01.49 megacomet 22546 root 20 0 10392 1968 108 S 0.0 0.3 0:01.49 megacomet 22543 root 20 0 10388 1908 60 S 0.0 0.3 0:01.48 megacomet 22549 root 20 0 10396 1860 20 S 0.0 0.3 0:01.47 megacomet 22545 root 20 0 10396 1840 0 S 0.0 0.3 0:01.47 megacomet 22547 root 20 0 10392 1840 0 S 0.0 0.3 0:01.50 megacomet
And here's where i got the kernel tuning tips from:
http://www.metabrew.com/article/a-million-user-comet-application-with-mochiwe...
http://www.cs.wisc.edu/condor/condorg/linux_scalability.html
Thanks for reading! And if you want to get in touch, I'd love to hear from you: chris.hulbert at gmail.
(Comp Sci, Hons - UTS)
Software Developer (Freelancer / Contractor) in Australia.
I have worked at places such as Google, Cochlear, Assembly Payments, News Corp, Fox Sports, NineMSN, FetchTV, Coles, Woolworths, Trust Bank, and Westpac, among others. If you're looking for help developing an iOS app, drop me a line!
Get in touch:
[email protected]
github.com/chrishulbert
linkedin