[Webinar] Discover key trends and best practices in Kubernetes observability with DevOps expert, Viktor Farcic.Register now
Our recognition in the inaugural Gartner MQ for DEM

Agent Performance Report for APM Insight Java Agent


Server Setup

  • Application Server - Apache Tomcat 7.0.29
  • JDK/JVM Environment - Oracle JDK 1.6.0_24
  • Operating System - Windows 7 (x64)

Application Setup

  • J2EE Web Application
  • MVC Frameworks used: Struts 2
  • ORM Frameworks used: Hibernate 4.2.19 Final
  • Database: MySQL
  • Cached Frameworks used: Memcached

Memory Consumption

  • The target web application is set to receive 300 requests per minute.
  • APM Insight Java agent is configured to track all transactions (web, non-web). The agent consumes 35 to 40 MB to track all the transactions getting served by the Application Server.
  • On increasing the throughput to the server to 600 requests per minute, the APM Insight Java agent consumes 80  to 100 MB, tracking all the transactions served by the application server.
  • In case of Application servers serving huge requests, memory consumption by the APM Insight Java agent can be reduced (if needed) by configuring the sampling factor.

Response Time Overload

  • Response time overload added by the APM Insight Java agent is directly proportional to the number of method calls being instrumented.
  • If the agent is set to track all the method calls happening in the transaction, the maximum response time overload will be 7% of the actual response time. On Minimal, Agent consumes 1% of the actual response time.

Network Bandwidth Usage

  • The communication between APM Insight agent and Applications Manager servers is of one-way HTTPS communication. The agent sends the performance metrics to Applications Manager server every one minute.
  • There will be 2 requests per minute from the agent to our Applications Manager servers.
    1. /arh/data  - carries metric data of all the transactions performed on the server, which will consume at the maximum of 100 KB.
    2. /arh/trace - carries traces of every transaction which consumed response time larger than the configured threshold level. A complete snapshot of the transactions will be sent. This can be used for better debugging. Maximum data size sent is around 4MB.
Back to Top