Add clustering to node.js' ws benchmark, to utilize more cores #23

Merged
merged 1 commit into from Jun 17, 2012

Projects

None yet

4 participants

@einaros
Contributor
einaros commented Jun 17, 2012

Also requires node v0.7, which will let you increase the socket listener backlog. Combined all of this should take care of the socket timeout errors.

@AllYouCanAlex

What kind of improvement do you see with these changes?

Owner

could you patch configure_ubuntu.sh to download and built the best version of 0.7 for this test? I'm going to try this out with 0.7.11 but because I'm not a node.js user, I don't know if that is the best beta version to use.

Thanks,
Eric.

has require('os').cpus() been fixed by now to return all cores ? i had previously hit a limit on my 80 core test machine.

@ericmoritz ericmoritz merged commit 55d31c1 into ericmoritz:master Jun 17, 2012
@ericmoritz
Owner

Forget patching configure_ubuntu, I'll just 0.7.11 since that's what you patch says to use.

@einaros
Contributor
einaros commented Jun 17, 2012

I patched it all the same.

@ericmoritz
Owner

I ran this twice on the same server and both times it resulted in more timeouts than before.

@ericmoritz
Owner

Let me test the original right now and see if it's a AWS problem.

@einaros
Contributor
einaros commented Jun 17, 2012

Strange. When I ran it on one of my Unbuntu boxes, it got rid of all the timeouts. Is the AWS you're running on single core?

@ericmoritz
Owner

No, it's a m1.large 64bit dual core box. The only variation is that it's technically not the same hardware because I stopped it after the last test. In may experience AWS boxes have varying degrees of performance.

Did you experience timeouts on your boxes before the change?

@einaros
Contributor
einaros commented Jun 17, 2012

About 50% timeout on that box. I could get about 4.8k sockets up and running. On the 4 core server, with 0.7.11 clustered it handled all 10k just fine.

@ericmoritz
Owner

Yeah, I can't blame the implementation on this. This new box is performing terribly. The old version is hitting a wall at about 3700 connections. AWS is terrible. I don't think I can confidentially release the results of my previous test on this hardware. I can most certainly not compare any new results to the benchmark I did on Friday night.

@ericmoritz
Owner

Even the Erlang version, while it hit 10,000 clients, took twice as long to get there. This box is crap.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment