A New Way to Profile Async Activity in Node.js
summary
A new Node.js profiling flow that pairs a benchmarker with trace-based visualizers exposes real async bottlenecks: run autocannon against a Dockerized app, run clinic doctor to detect an I/O issue, then open bubbleprof (async “bubbles”) and clinic flame to see which lines block the event loop. The demo finds a full-collection MongoDB scan (no index) and swapping to the indexed query raises throughput from ~100 rps to ~600 rps, proving the toolchain locates and validates fixes.
AI-written summary · about
chapters (19)
- 0:00Workshop intro
- 2:54Setting up the environment
- 4:49Docker container setup
- 7:21Clinic tool introduction
- 9:23Performance issues workflow
- 12:54Establishing baselines
- 16:01Benchmarking with Autocannon
- 18:29Analyzing baseline results
- 22:11Clinic Doctor diagnosis
- 25:33Automating with clinic commands
- 30:48MongoDB application setup
- 34:00Profiling the application
- 37:09Debugging with Doctor
- 44:10Visualization with Bubbleprof
- 46:47Fixing database performance
- 51:46Verifying the fix
- 55:55Identifying new bottlenecks
- 58:57Optimization and conclusion
- 1:03:44Q&A and closing
related talks
24mBubble Up Your Node.JS I/O
01h 02mProfiling Node Applications
26mObserving Node.js: Using Metrics to Improve your Application Performance
13mMy Node.js process is on fire
27mEffective Performance Testing to your Server with Autocannon
25mMy node.js process is on fire
53mMastering Node.js Performance
46mNodeJS Scalibility Tips
