Node.js is an evented I/O platform built on top of https://developers.google.com/v8/, Google Chrome's Javascript VM.
Node applications receive I/O events (file read, data available on a socket, write completed) and then execute a Javascript callback (a function).
The next I/O event is processed after the JavaScript function (the callback) terminates.
In order to write fast Node.js applications, our Javascript functions (particularly callbacks) need to terminate as fast as possible.
Any function that takes a long time to process prevents all other I/O and other functions from executing.
HTTP benchmarking and flamegraphs help us to understand our applications logical flow and rapidly pinpoint the areas that require optimization (the functions that prevent I/O and other instructions from executing).