Node.js Observability Tool: Enhance Visibility Without Performance Impact

Node.js Observability Tool: Enhance Visibility Without Performance Impact

Introduction

Load testing is a crucial process for understanding how your application performs under various conditions. In this article, we examine the effectiveness of Errsole.
We focus on key performance metrics—average response time, the 90th percentile (p90), and the 95th percentile (p95) response times—comparing load testing results with and without Errsole to assess its impact.

Load Testing Scenario
For this analysis, we conducted a load test using K6, a popular open-source load testing tool. The load testing scenario consisted of the following configuration:

  • 500 virtual users (VUs) for 1 minute

  • 1000 VUs for 3 minutes

  • 500 VUs for 1 minute

  • Sleep time of 3 seconds between iterations

We monitored the application's response times and behavior under these conditions with and without Errsole.

Errsole: Errsole is an error logger and remote debugger for Node.js apps. With Errsole, developers can view the root cause of every error, reproduce any error with just a click, and debug the server code without affecting the live app and its users.

Load Testing Environment
In our load-testing scenario, we used the following technologies:

  • HTTP method: POST API

  • Database: SQLite

  • Nodejs framework: Express

  • Server: AWS EC2

Load Testing Results

Without Errsole:

  • Average response time: 2.53 seconds

  • 90th percentile (p90) response time: 4.42 seconds

  • 95th percentile (p95) response time: 4.64 seconds

  • Iterations completed: Approximately 35,000

With Errsole:

  • Average response time: 2.56 seconds

  • 90th percentile (p90) response time: 4.47 seconds

  • 95th percentile (p95) response time: 4.65 seconds

  • Iterations completed: Approximately 35,000

Image description

Analysis

The results of the load testing indicate that, in this specific scenario, the use of Errsole has minimal to no effect on the application's performance. When comparing average response times, there is only a marginal difference between the runs. The 90th and 95th percentiles also exhibit similar patterns.

Furthermore, the number of iterations completed in both test runs is approximately 35,000, with virtually no difference between them.