drewww / socket.io-benchmarking

A framework for testing high concurrency behavior in socket.io
221 stars 40 forks source link

Some basic usage instructions? #1

Open geuis opened 12 years ago

geuis commented 12 years ago

I was just looking for a load-testing framework last night when I saw you pushed this today. Having at least a simple set of instructions on its usage would be immensely helpful. I've gotten as far as getting server.js running, but am not sure what's next to actually test this against my own websocket app.

drewww commented 12 years ago

Yeah, this is totally woefully lacking right now. I'm sorry about that - it was really just a quick project that works-for-me at the moment. I'll try to write up something more useful this weekend, but no promises.

I'm not sure how useful this will be at testing your own websocket app; the client is really only designed to test server.js. Basically, it sends 'chat' type messages to server.js and server.js broadcasts those to all clients. If you want to test your own app, it's going to require a bunch of hacking on the Java client. You'd need to change the kinds of messages that the client sends to the server to match what your actual server is expecting. It's not that hard and all the code that's there is a starting place, but even usage instructions to recreate my test aren't going to help test YOUR app. All I could document would be how to test your HARDWARE to figure out what its messages-per-second capabilities are, which sounds like not quite what you want.

But if you know Java and can get your own Java environment setup to take the base classes and adapt them, it might help you build your own tester faster. But I'm probably not going to turn the client into a generic tester in the near future unless there was really a ton of interest. If you look around there are some other options in that space. I don't remember offhand; if you can't find them let me know. They didn't work for me because they didn't work at high concurrency/high load, but they might work for you. If not, using the Java client as a starting point will probably save you a few hours of confusion getting raw websockets to work with socket.io's protocol. But it's not going to be a drop-in solution.

JohnMcLear commented 11 years ago

I'd also like to chat a little about maybe doing a little hacking together to see if we can do some decent load testing on Etherpad, we have a C load testing client but not sure on good practice to spawn clients etc.