Java Agent DNS lookup may be causing performance issues

book

Article ID: 198498

calendar_today

Updated On:

Products

CA Application Performance Management Agent (APM / Wily / Introscope) CA Application Performance Management (APM / Wily / Introscope) INTROSCOPE DX Application Performance Management

Issue/Introduction

Java Agent DNS lookup may be causing performance issues based on the result of the analysis from thread dumps.

We got java thread dump during our stress test and we found out the most of status for ongoing threads ware  TIMED_WAITING (parking).

Most of ongoing threads are in a waiting state because of:

at com.wily.introscope.agent.trace.io.AddressHostNameHelper.getHostName(AddressHostNameHelper.java:64)

We disable DNS lookup in the IntroscopeAgent.profile file:
introscope.agent.dns.lookup.type=disabled 

After that the startup process itself is STUCK and we got java another thread dump, and we found out that the processing was delayed in the following thread.

at com.wily.introscope.agent.trace.io.AddressHostNameHelper.getHostName(AddressHostNameHelper.java:68) 

So, it seems like introscope.agent.dns.lookup.type=disabled property is not working as expected.

Environment

Release : 10.7.0

Component : APM Agents

Resolution

We know that it is possible to disable reverse DNS lookup as follows: 
introscope.agent.dns.lookup.type=disabled

This helped many other customers to reduce CPU utilization/resource overhead.

If the above property does not work in a environment, We have suggested to our customers to set the following values ​​to reduce CPU usage/resource overhead.

Set the two properties in IntroscopeAgent.profile

introscope.agent.dns.lookup.type=separateThread
introscope.agent.dns.lookup.max.wait.in.milliseconds=1

Make sure to stop and start the JVM after the above settings.