Closed jthurman42 closed 11 years ago
We have, if only temporarily, a new winner! Good old-fashioned preforking FTW! :+1:
Made 40000 requests in 16.56s.
Times in ms, min/mean/median/max (stddev)
Handled 40000 requests: 0.7/26.5/11.0/2637.0 (157.6)
IQR filtered to 37545 requests: 7.1/11.5/10.9/16.1 (1.5)
Throughput: 144.93krpm (IQR adjusted: 334.23krpm).
There are probably some further performance gains to be realized (or else I need to finish the work I've been doing on my benchmarking client based on wrk), because even at this performance level the cores on my 8-core MBP were only about half-used.
Worked great on OS X right out of the box! Built and ran flawlessly.
w00t! Though performance on my Quad-core Linux desktop is significantly better at 40k, by 6 seconds: http://pic.twitter.com/G4P08EbN8N
The wall-clock time is better, but the throughput is worse, once you filter out the outliers (which is what the filtering by inter-quartile range does). This is part of why I'm working on a multithreaded C client -- I think at a certain level of server performance the numbers coming out of the single-threaded (but concurrent) Node client cease to be accurate. I've definitely seen dome weird behavior in Instruments.
Not sure if it will run on OSX, since I'm working on Linux (and the OSX stuff generally isn't working on Linux).