You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by Stefano Gambetta <st...@gmail.com> on 2007/05/22 12:58:20 UTC

JMeter performance testing - heavy CPU utilization

Hello,
   I'm evaluating JMeter as a load testing framework for my performance
analysis.

I'm going to load test a DNS server. To do so, I've written my own Java
Request sampler, which issues DNS requests using the package dnsjava.

My test configuration is very simple: one thread-group (one therad
configured for example), one java request sampler, one simple data writer as
listener.

The problem basically is that with that configuration JMeter can reach a
very low throughput (query sent / sec), since during tests CPU get
saturated.

The known bind queryperf tool can generate a load about six times higher
while using less than 30 % CPU. Since this tool is a simple C program, I
expected a greater performance, but that results seems to be exaggerated.

I assumed that my sampler class was not well optimized, so I did a quick
profiling of JMeter, during the test, in order to discover some areas of
improvement.

I think I saw an interesting result: most of the thread sampler time is
spent in one method of one particular class of JMeter, and a minor part is
spent inside the Java Request sampler. The mentioned method is:

SamplePackage.setRunningVersion()


Giving that results, I have some questions:

- what does that method do?
- is it possible to reduce its overhead?

Thanks for any replies