Event loop tales on I/O bound Node.js applications
summary
The talk analyzes I/O-bound Node.js frontend microservices where DNS lookups run in libuv’s thread pool and cause contention under many-to-one HTTP patterns. Using New Relic and simple load benchmarks, the presenter shows median latency improving from ~100ms to ~4ms and tail latencies dropping from 100+ms to single digits after fixes: tuning the default libuv threadpool (UV_THREADPOOL_SIZE), using the system resolver, enabling keep-alive, and applying a patched HTTP agent, with end-to-end validation.
AI-written summary · about
chapters (8)
- 0:00Event loop challenges
- 7:23Event loop internals
- 10:40File system and DNS I/O
- 16:35I/O bottlenecks
- 23:09DNS resolution optimizations
- 26:01Live demo
- 31:13Thread pool memory
- 33:06Summary
related talks
45mAsk the Maintainer: Nodejs
49mA Journey into Node.js Internals
49mA Journey into Node.js Internals
38mWelcome to Mordor! Hunting Performance Issues in Node.js.
11mRevolutionizing JavaScript Performance
34mEverything I Thought I Knew about the Event Loop Was Wrong
30mNode.js Deep Debugging
31mNodeJs Event Loop
