Node event loop blocking
A Node.js API’s p99 latency spikes when a report endpoint runs. How do you find and fix event-loop blocking?
Answers use simple, clear English.
Quick interview answer
Measure event loop lag (perf_hooks monitorEventLoopDelay / clinic doctor). Profile CPU. Move CPU-heavy work (PDF, crypto, large JSON parse) to worker_threads or a separate queue consumer.
Detailed answer
Measure event loop lag (perf_hooks monitorEventLoopDelay / clinic doctor). Profile CPU. Move CPU-heavy work (PDF, crypto, large JSON parse) to worker_threads or a separate queue consumer. Keep request handlers I/O-bound: await DB/network only. Add timeouts and reject huge payloads early.
Real example & use case
POST /reports/pdf: enqueue job to Redis; return 202 + jobId; worker generates PDF.
Pros & cons
Pros: restores concurrency. Cons: eventual consistency for report completion.