Senior
How do you detect performance issues (spikes, memory leaks, delays) in a Node.js application?
sobes.tech AI
Answer from AI
Several approaches are used to detect performance issues in a Node.js application:
- CPU and memory profiling: using the built-in Node.js profiler (
--inspect), Chrome DevTools, or tools like Clinic.js to identify bottlenecks and leaks. - Metrics monitoring: collecting metrics (latency, memory usage, number of open connections) with Prometheus, Grafana, or New Relic.
- Logging and tracing: analyzing logs and distributed tracing to understand where delays occur.
- Heap snapshots: taking heap snapshots and comparing them to find memory leaks.
Example of starting the profiler:
node --inspect app.js
Then connect via Chrome DevTools for analysis.