Closed
Description
Describe the bug
In our application we noticed a significant performance overhead from using the default async_hooks
-based scope manager. After adding scope: 'noop'
to our config, we saw the following improvements.
CPU usage halved:
Significantly smaller GC pauses, with less variance:
After researching this further, we found that use of async_hooks
is known to cause significant performance degradation:
- Performance impact of async_hooks nodejs/benchmarking#181
- https://blog.jakubholy.net/2018/11/01/beware-the-performance-cost-of-async_hooks-node-8/
Are there any official recommendations for configuring the node environment and/or dd-trace-js to reduce the overhead of DataDog's async_hooks
usage? Is using scope: 'noop'
a viable approach? What effects would this have on plugins?
Environment
- Operation system: Debian
- Node version: 10.16.3
- Tracer version: 0.15.2
- Agent version: 6.13.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment