I recently created a turn-based game server that can accept 10,000,000 concurrent client connections (long story - epoll on Linux). Communication is based on a simple, straightforward, linear protocol. This server allows customers to connect, search for other players in game matches, play games (send moves, chat messages, etc.) and receive notifications when the game is completed.
Now I want to check the server by simulating client connections. I hope to support 10 thousand concurrent connections, so this testing is very important to me. What do you guys use for your own testing?
Some of the things I'm learning right now are pexpect (python expect lib for functional testing) and tsung for load testing.
I would like to be able to simply test from my laptop, since I do not have a cluster of client machines to connect to. Perhaps I will need to use ip aliasing or some of them to generate 100 thousand thousand outgoing sockets (the limit is 65K per AFAIK interface).
In any case, it seems to me that I need something rather ordinary, but I thought I would ask before I went down this path.
Thanks!
source
share