Reusable Insights from Enterprise Deployments
summary
Node.js event-driven design yields 30x performance for IO-heavy web workloads by pushing blocking IO into libuv and using callbacks/closures; debugging finds surprises like low JS heap but RSS stuck at ~30GB because the OS keeps freed pages until memory pressure. Diagnosis uses reproduction with C/C++ allocators, timing injection, and tools like GDB/LLDB/llnode, strace and tracing, revealing fixes: close duplicate file descriptors, enforce strict init/teardown order, and add an API to drain and shut down embedded Node — console.log flush remains unresolved.
AI-written summary · about
chapters (7)
- 0:00Introduction to Node.js
- 15:22High RSS memory issue
- 23:57Exit race condition crashes
- 29:35Pipe data bifurcation bug
- 34:10Shutting down Node.js in flight
- 37:06Flexible STDIO for IPC
- 40:47Call to action for contributors
related talks
37mPainless Testing of Event-Driven Architecture
26mMonitoring and Diagnosing the Performance Problems of Enterprise Applications
31mMemory Leaks in JavaScript
03h 08mDay 1
36mPerformance Optimization 101
27mDoing the Least Amount of Work: An Intro to Runtime
33mCrushing Application Latency with Vert.x
25mRethinking JavaScript Test Coverage
