We are building a group chat feature, which is using websockets. We want to test how many connections our current infrastucture can support.
Basically it boils down to how to simulate a websocket.
We are building a group chat feature, which is using websockets. We want to test how many connections our current infrastucture can support.
Basically it boils down to how to simulate a websocket.
I can give you a suggestion from my recent experience. You can connect webkit based Phantom virtual clients to your chat server and measure the resource usage (i.e CPU, memory, may be using a shell script or another utility or you can profile your service )
Do you use any framework like socket IO for websocket communication ?
You can use a load-testing tool for that.
I have used WebLOAD in a similar project. It records the web traffic when using the browser - it records regular HTTP requests and also the web-sockets traffic - you can then play the script back with many users and measure the server's behavior.
I had a nice experience with tsung http://tsung.erlang-projects.org/
Several years have passed, there is another new tool to do load testing for Websockets: https://github.com/observing/thor
How about using Jmeter for this purpose. Although it doesn't yet support WebSocket directly you can use TCP sampler to get the job done.
Alternatively you could get a plug-in which would add WebSocket support to JMeter: http://github.com/maciejzaleski/JMeter
Needless to say both JMeter and WebSocket plug-in is open-source and free to use.
I would do it with Node.js so you can use the same websocket client library which you also use in the actual client.