Node.js: Debugging and Performance Tuning

Node.js: Debugging and Performance Tuning

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 2h 44m | 349 MB

Node.js apps are known for their blazing-fast speed, but hard-to-find bugs and suboptimal processes can drag performance down. Isolating the problem in the stack can often grind productivity to a halt. In this course, Node.js developer Jon Peck shows how to debug and speed up your site as he walks through how to fix a complete—but flawed—rock-paper-scissors game. Jon shows how to log problems, debug issues, measure performance, implement caching, and continuously optimize your application for performance.

Topics include:

  • Building a troubleshooting mindset
  • Why measure performance?
  • What’s a microservice architecture?
  • Managing microservices with PM2
  • Effective logging strategies
  • Debugging Node.js applications
  • Benchmarking performance
  • Profiling code execution
  • Knowing what to optimize
Table of Contents

Introduction
1 The power of debugging and performance tuning
2 What you should know
3 Using challenges
4 Configuring your development environment
5 Demo application tour

Build a Troubleshooting Mindset
6 Finding what went wrong
7 Why measure performance
8 Documenting problems
9 When is a problem resolved

Introducing Microservices
10 What s a microservice architecture
11 Microservice rock paper scissors
12 Introducing PM2 for process management
13 Managing microservices with PM2

Effective Logging Strategies
14 Why and what should I log
15 Problems with Node.js console
16 Implementing Express error pages
17 Choosing a logging library
18 Adding Winston for Node logging
19 Request logging with Morgan
20 Correlating requests in logs
21 Cross-application request correlation
22 Challenge – Cross-application request IDs
23 Solution – Cross-application request IDs

Debugging Node.js Applications
24 Debugging isn t just logging
25 Introducing Node s built-in debugger
26 Command-line debugging with Node inspect
27 Debugging Node in Chrome DevTools
28 Debugging Node with Visual Studio Code

Measuring Performance
29 Benchmarking performance
30 Benchmarking with ApacheBench
31 Benchmarking code with Winston
32 Profiling code execution

Conclusion
33 Knowing what to optimize
34 Caching fundamentals
35 Next steps