EDIT: metabrew has very good tutorial - which should be a starting point for everybody new to this space!
2. The problem is, that Amazon EC2 doesn't support multiple IP aliases per instance. To generate 1M connections, I had to launch a cluster of 17 instances to generate 1M clients. On physical server with a lot of RAM, you can just create 17 IP aliases.
3. Tsung is a great tool - but hard to control and has it's own limits. So if you need to do large scale loadtesting - better write your own tool.
I asked this question because if one uses 17 instances to handle 1M connections, for each instance is around 50k. I am more interested in knowing the possibility and performance for one machine to handle 1M connections.
It's a solved problem for me. That is why I don't understand why many high profile realtime web startups (like Convore), still using inferior solutions, like Python eventlib or gevent, which at most let them handle hundreds-to-thousands of clients.
EDIT: metabrew has very good tutorial - which should be a starting point for everybody new to this space!
C10K is not even close to being a real problem any more. I expect my phone can handle 10K connections.
Making a million outbound connections, on the other hand, requires a little more care. Mostly because you need 16+ IPs. I ended up writing a small tool in C with libevent to make 1M http connections: http://www.metabrew.com/article/a-million-user-comet-applica...
https://github.com/newsapps/beeswithmachineguns
I don't remember how I came across it but it's the same concept: fire up a swarm of EC2 instances to pound the shit out of your site.