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
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.
Subscribe to my newsletter
Read articles from Rishi Meena directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by