Node.js performance training
This course will empower your team with the knowledge to identify, troubleshoot and improve performance issues in Node.js applications.
Level
Advanced
Pre-requisites
A solid understanding of JavaScript and Node.js
Pre-requisite Courses
Node.js Advanced
Defining and measuring performance
- How to approach performance issues
- The importance of defining goals before working on performance issues
- How to define goals
- What units to use
- Reviewing good and bad examples
Load generation
- The need to apply load
- Using artillery
Tools and techniques for monitoring
- Define the resources; what they are and how big they are
- CPU usage; number of processes, number of cores
- Define a watermark
Network, minimum latency, maximum bandwidth
- The event loop and measuring its lag
- How the event loop works
- How can we measure the event loop lag
- Meet too-busy-js and process._getActiveHandles()
Profiling CPU usage
- How CPU can be a bottleneck
- Generating flamegraphs
- Interpreting flamegraphs
- Playing with flamegraphs
GCs impact on performance
- How the GC works
Heap analysis
- Generating dumps
- Analysing dumps