-
Notifications
You must be signed in to change notification settings - Fork 309
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
Node process performance degradation #272
Comments
How many spans are generated on average for each request, and how many req/sec are you getting? If you could provide any output from profiling it would definitely be helpful as well. Also, just to confirm, are these server load average numbers CPU percentage? |
I'm getting around 200 req/sec per instance, spanning 3 Node processes, so around 66 req/sec per process. Also I think around 3 spans are generated on average each request. By load average I meant the same that |
In my own testing, I am unable to reproduce such a big impact for just a couple hundred requests. If you could provide profiling data it would be very helpful. If the profiling data is sensitive, please PM me in our public Slack or contact support (you can mention me to them so they can forward it to me). |
I've ran into this as well. Doing some flamegraphs I discovered that the Here's the flamegraph with dd-agent: Here's the flamegraph without dd-trace: |
Since @ibolmo Can you try with |
@rochdev I agree with the assumption but here's another look with empirical data: It's the same uncached request and payload. Same amount of work the graphql js has to process, but my theory is that the require-in-the-middle doesn't permit v8 to properly optimize the call. Thus every cal is dramatically slower. |
One way to test this theory would be to completely exclude You could do that with the following snippet: const Hook = require('require-in-the-middle')
const modules = [
'graphql/execution/execute.js',
'graphql/language/parser.js',
'graphql/validation/validate.js'
]
Hook(modules, (exports, name, basedir) => exports) If you still get the same behavior, then we'll know for sure it's related to |
There hasn't been any activity on this thread in a few years, so I'm closing it. If the exact same issue is coming up for anyone, please still feel free to comment or reopen. |
It's also very likely related to #1095 |
Hi there,
I think the tracer is having a considerable effect in my node processes performance. When there is a low or moderate load it's not appreciable, but during peak time period the CPU usage grows more than double than before (server load average that used to be 0.5 going to around 2, for example).
Didn't have the chance to profile the app, but the behavior I explained above happened only in the two servers I installed the tracer.
My configuration and other details:
The text was updated successfully, but these errors were encountered: