Just Googling around, I've found a couple discussions on the topic for different distributions. Perhaps one of them will point you in the right direction:
Don Wakefield
2009-05-11 15:58:56
Just Googling around, I've found a couple discussions on the topic for different distributions. Perhaps one of them will point you in the right direction:
Please see the C10K problem page. It contains an in-depth discussion on how to achieve the '10000 simultaneous connections' goal, while maintaining high-performance and managing to serve each client.
It also contains information on how to increase the performance of your kernel when handling a large number of connections at once.
Thanks for all your answers but I think I've found the culprit. After redefining __FD_SETSIZE in my program everything started to move a lot faster. Of course ulimit also needs to be raised, but without __FD_SETSIZE my program never takes advantage of it.