Node.js is the right choice for anything networking-related, meaning that if your application spends most of its time waiting for network/io events to happen.
If you try to test binary protocol and there're no existing implementations, you can write it yourself depending on how complex it is. So you can just start from here: http://nodejs.org/api/net.html , http://nodejs.org/api/buffer.html There are a lot of test frameworks out there (like mocha), they can be used to test other apps with node. I don't know of any good tools to use node.js as a load tester, but that's because it's easy to write it. If you make one test, you can launch thousands of them in parallel, and node.js engine itself will manage it. Well, some control flow library like "async" will be convenient there. You can rather easily manage a thousand connections from one host, if you want more than that, you'll probably have to increase 'ulimit -n', otherwise OS will start to throw errors. On Wednesday, October 9, 2013 10:11:56 PM UTC+4, Rob Knopf wrote: > > All, > > I've been trying to find a suitable application to load test one of our > server applications. It's a traditional server/client room based game with > realtime updates of positions,etc (FPS or MOBA like traffic). Specifically > it's using SmartFox on the backend. I couldn't find an off-the-shelf > version testing framework (lots of http type of load testers, no persistent > connection types that I could see), so it looks like we'll have to brew our > own. I turned to Node to provide the framework for 20K simulated clients, > but before I spend too much time on this, I was hoping to get some > verification that this was the right tool for the job. > > 1) Is Node the right choice for initiating those connections? Am I > barking up the wrong tree and should turn my attention to a different tech? > Assuming it is (or can be with some work)... > > 2) Is there a magical npm somewhere I can leverage? I understand the > protocol itself (binary) would have to be overridden, but it sure would be > nice if someone had started something already. I have found tons of tools > to test Node applications, but none to use Node as the tester. > > 3) If there aren't any real starting points I can work from, are there > some land mines I should be aware of when putting something together? Are > there best-practices guidelines for using Node to initiate thousands of > persistent sockets? > > > I appreciate any help/direction you folks can give me. If there is a > better forum for this, please point me that way. > > Thanks, > > -Rob > > -- -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en --- You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
