-
Notifications
You must be signed in to change notification settings - Fork 2k
Performance issues #334
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
Hey Kim, this is very interesting. Our proxies currently run node v0.8.14 and node-http-proxy v0.8.4 and we're seeing no performance problems. We confirmed that upgrade from node v0.6 increased proxy performance. What's the exact node-http-proxy and node version you were using? Can you try profiling it? What operating system is that? Did you do any changes to backend service during the upgrade (as in, did you upgrade node on backend too)? I'd be very happy to help with fixing it. |
Hey Maciej, thanks for your reply! We are having this issue since the 0.6.* release of node and the matching node-http-proxy release. I can not profile this error right now, because I don’t have a test environment that is big enough. I have to test this on the live system, so I would have to schedule a maintenance for this. The servers behind the old proxy are exactly the same as behind the new proxy. We have a firewall that forwards all request to the proxy, we just changed the firewall to forward to the new proxy. So the only component that was updated in that test was the proxy. By the way, all incoming requests to the proxy are SSL! Thanks for your help! Mit freundlichen Grüßen Herr Kim Schneider Krämer IT Solutions GmbH From: Maciej Małecki [mailto:[email protected]] Hey Kim, this is very interesting. Our proxies currently run node v0.8.14 and node-http-proxy v0.8.4 and we're seeing no performance problems. We confirmed that upgrade from node v0.6 increased proxy performance. What's the exact node-http-proxy and node version you were using? Can you try profiling it? What operating system is that? Did you do any changes to backend service during the upgrade (as in, did you upgrade node on backend too)? I'd be very happy to help with fixing it. — |
hi @KimSchneider, Finally, did you fix the performance problem when the requests are in SSL with node 0.8? What was the cause of the problem? |
No, we didn't. We will move to nginx and replace the node-http-proxy. Our backend servers that are running the current node version without SSL have no problems. So this is related to nodes' SSL or node-http-proxy. But nginx seems to be the better solution anyway. |
Meh. If you're into that sort of masochism go for it. This is an issue related to SSL performance in node that @indutny is working hard on. In the meantime you can just put stud in front of node-http-proxy. But I'm pretty sure @KimSchneider is not interested in our advice as he has not provided any demostrable data for us to help debug the problem with besides node versions. |
I can not give you any sample data, because I got none. The only data I've got is real time data that our customers produce and I am not allowed to post that. Just try to open about 2000 long polling connections and try to blast 100 request/second through the proxy. Post data can be any JSON of about 200 chars, results are always { success : true }. I'll take a look at stud, thanks. |
@indexzero, do you have the reference to the issue related to the SSL performance in node? |
My setup:
Benchmark command: All node versions installed via nvn, for example: Summary (3 runs each):
In general what I observe: Node 0.6 seems to be consistently faster Very rarely 0.8 seems to handle over 700 req/s. Node 0.10 on the other is quite consistent to never achieve > 700. I think something about 0.6 is better for node-http-proxy. Any idea how to speed things up? |
Closing due to old age. |
Hi,
about this one, I am not really sure if it is an node.js or node-http-proxy issue, but I bet you can help me anyways :)
One of our node-http-proxy servers runs on node 0.4.10 and an quite old node-http-proxy version (before node 0.6.*).
That server manages concurrently 1500+ http long polling requests and about 100 casual http requests per second. No problems, but CPU usage is kind of high.
We wanted to update to node 0.8.* and the current node-http-proxy version to boost performance, but our tests failed.
The performance drops down to 100-400 concurrent long polling requests and about 10 http requests per second. So the proxy does not seem to be able to handle more than 400 requests at one time (just rough numbers because the casual requests and the long polling requests fight each other in numbers ;))
We did set this
var httpProxy = require('http-proxy');
httpProxy.setMaxSockets(5000);
and the ulimit is set to 65535.
Any hint why the performance decreased so drastically?
Thanks, Kim
The text was updated successfully, but these errors were encountered: