-
Notifications
You must be signed in to change notification settings - Fork 2k
Comparing benchmarks of 0.10.3 and 1.0.0-dev #491
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I keep trying to benchmark
Target server stays up all the time, |
After some improve from @yawnt I ran again the benchmark and this what I got in my humble laptop. Node: v0.10.20
I would love to see what numbers show at @indexzero's laptop because my humble laptop show some improve. |
And a 3 minutes benchmark show this:
|
@yawnt I added some baseline benchmark scripts that we can use in the
1.0.0-dev
branch (they are also in thecaronte
branch, but that's behind now). These benchmarks exposed what appear to be (at first glance) serious performance issues in the 1.0.0-dev branch.node: v0.8.25 | http-proxy: v0.10.3
I am using the benchmark branch. The documentation on how to run these benchmarks is in benchmark/README.md. On average I am seeing just under 3000 request / second.
$ wrk -c 20 -r 2000 -t 4 http://127.0.0.1:8000
$ wrk -c 20 -r 10000 -t 4 http://127.0.0.1:8000
The highest I pushed it was 100k total requests across 8 threads with a concurrency of 20 per thread:
$ wrk -c 20 -r 100k -t 8 http://127.0.0.1:8000
node: v0.10.19 | http-proxy: v1.0.0-dev
I am using the 1.0.0-dev branch. Again, the documentation on how to run these benchmarks is in benchmark/README.md. There are two main problems here:
1. A 50% performance degradation
This could be a number of things (such as changes to node core itself), but right now I'm seeing a 50% performance hit.
2. Proxies fall over with ETIMEOUT
Increasing the number of total requests beyond ~6k without raising the concurrency or threads of the wrk process causes
node benchmark/scripts/proxy.js
to fall over withETIMEOUT
.$ wrk -c 20 -r 10000 -t 4 http://127.0.0.1:8000
This happens consistently and in a reproducible fashion. This is a show stopping bug and needs to be fixed:
The text was updated successfully, but these errors were encountered: