Hacker News new | ask | show | jobs
by ComputerGuru 4935 days ago
His testing is very flawed. Look at the availability chart: nginx has higher availability at 200 concurrent connections than at 100? It's simply not possible if the test was the same w/ just a higher concurrent connection count, as he claims.

Edit: Yes, it's "possible" that this is something in the nginx code causing it work weird, but I'd say a benchmarker should use some common sense instead of blind reporting, notice that this is an anomaly, and re-test. Benchmarking should be a scientific statistical process, reporting mean and mode, standard deviation, etc. The background environment should be heavily studied and documented to ascertain no background/cron tasks are taking place, and every little detail should be carefully looked at before putting results up for the world to see.

2 comments

The charts show nginx has lower availability at 200 concurrent connections except for the large JPG test where availability is the same (97.55%). The labels are goofed up on the second chart (they're off by a column), so maybe that's what confused you.
"not possible" is quite a strong claim in the realm of concurrent software, and so is "simply". Benchmarking is taking a measurements of a nondeterministic process, i.e. a statistical sample. Yes, some problem with the setup is quite likely given the result, but other explanations are possible as well. What if some threshhold for some action that helps the server deal with more concurrent connections was just not hit at 100 connections? unlikely but not imposible.