Help Docs

APM Insight Node.js agent performance report

The performance report assists you in optimizing the APM Insight Node.js agent and improving the overall performance of your application.

Test environment

OS: Ubuntu 20.04.1 LTS
CPU: 6-core
Memory: 15.3GB
Version: Node.js 16.6.0
Application framework: Express 4.18.2

Impact on application's response time

Four sample Node.js application instances were run with and without the APM Insight Node.js agent at 300 and 600 transactions per minute, respectively. The data was collected over a period of two hours, and the results are summarized below.

300 transactions per minute:

Response time summary
Without agent
With agent
Average response time (ms) 2029 2054
Peak response time (ms) 2452 2485

The average time difference observed while running applications with and without the APM Insight Node.js agent is approximately 1.40%.

The timeline chart below explains the historical trend:

600 transactions per minute:

Response time summary
Without agent
With agent
Average response time (ms) 2130 2194
Peak response time (ms) 2475 2498

The average time difference observed while running applications with and without the APM Insight Node.js agent is approximately 3%.

The timeline chart below explains the historical trend:



Impact on CPU usage

The CPU consumption by the APM Insight Node.js agent depends mainly on the number of methods instrumented.

The data shown below is a compilation of data from applications that ran parallel with and without the APM Insight Node.js agent.

300 transactions per minute:

CPU usage
Without agent
With agent 
 Average usage (%)  0.53  2.3

When the application was running at 300 transactions per minute, the agent consumed an average of 1.8% of total CPU usage.

The timeline chart below explains the historical trend:

 

600 transactions per minute:

CPU usage
Without agent
With agent 
 Average usage (%)  1.16  3.92

When the application was running at 600 transactions per minute, the agent consumed an average of 2.76% of total CPU usage.

The timeline chart below explains the historical trend:



Impact on physical memory (RAM) usage

By default, the APM Insight Node.js agent collects performance data and pushes it to its own service every minute, so the footprint on user memory is minimal and only transient. It's important to note that memory consumption is directly proportional to the amount of data collected in a minute. Therefore, lowering the sampling factor or transaction trace threshold results in increased RAM usage.

The data shown below is a compilation of data from applications that ran parallel with and without the agent.

300 transactions per minute:

Memory usage
Without agent
With agent 
 Average usage (%)  0.4  0.5

When the application was running at 300 transactions per minute, the agent consumed an average of 0.1% of total memory usage.

The timeline chart below explains the historical trend:

 

600 transactions per minute:

Memory usage
Without agent
With agent 
 Average usage (%)  0.6  0.8

When the application was running at 600 transactions per minute, the agent consumed an average of 0.2% of total memory usage.

The timeline chart below explains the historical trend:



Network bandwidth usage

The communication between the APM Insight agent and Site24x7 servers is one-way HTTPS. The agent sends performance metrics to the Site24x7's server (plusinsight.site24x7.com) every minute.

The agent will send two requests per minute to Site24x7 servers.

  • /arh/data — Carries metric data from all transactions performed on the server, with a maximum size of 100KB.
  • /arh/trace — Carries traces of all transactions that consumed more response time than the configured threshold level. A complete snapshot of the transactions will be sent. This can help with debugging. The maximum data size sent is around 4MB.

Was this document helpful?

Would you like to help us improve our documents? Tell us what you think we could do better.


We're sorry to hear that you're not satisfied with the document. We'd love to learn what we could do to improve the experience.


Thanks for taking the time to share your feedback. We'll use your feedback to improve our online help resources.

Shortlink has been copied!