~/talk

Bubble Up Your Node.JS I/O

Talkat JSConf Hawai 2019 · 2019-02-07..02-08· [nodejs, web-performance]
slides:none on file

Node.js async activity visualizes as time–boxed bubbles so code interleaving becomes inspectable: running 1,000 requests produces ~12,000 async resources, bubble probe plus autocannon reveal where setTimeouts, promises and fs read cycles split and create throwaway promises, refactoring to parallel reads collapses those artifacts and yields 30% performance improvement on a real ipfs workload; includes raw traces from bubble probe and load from autocannon so the claim, the tools, the surprising counts and the working fix are all verifiable.

AI-written summary · about

  1. 0:00Start
  2. 0:07Bubble Up your Node.js 1/0
  3. 0:57How to debug asynchronous activity?
  4. 1:44The Node.js Event Loop
  5. 3:221. JS adds a function as a listener for an I/O event 2. The I/O event happens 3. The specified function is called
  6. 3:36In Node.js, there is no parallelism of function execution.
  7. 4:06What about nextTick, Promises, and setImmediate?
  8. 4:47setImmediate exercise the same flow of I/O events.
  9. 5:12How to debug multiple asynchronous activity?
  10. 5:39The asynchronous context problem.
  11. 6:43There is no concept of asynchronous context in JavaScript
  12. 7:22If there is no context, how can you track I/O events?
  13. 8:42How to visualize asynchronous activity?
  14. 19:54Performance Considerations
  15. 21:28An increase in memory consumption increase the amount of work the garbage collector (GC) needs to do on our CPU.
  16. 22:54Therefore, latency and throughput are connected.
  17. 23:53If you need some help to improve the performance of your application, reach out!
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.