jmeter-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alfred Freur <a...@contrado.net>
Subject JMeter remote test performance problems?
Date Fri, 26 Sep 2003 02:02:25 GMT
I'm new to JMeter, so please forgive me if this is an old question.  I've 
read the FAQ, the User Manual, and searched the mailing list archive, but 
I may have missed something obvious.

I've been trying to set up JMeter to do a distributed load test using some 
"repurposed" desktops.  I've started out with a simple test plan to try to 
familiarize myself with the program, and I've run into a few problems I 
can't seem to fix.

First, the setup: I have a "server" running the web app, a test control 
machine running jmeter, and three additional test machines running the 
jmeter-server script (had some problems with that, but fixed them).  All 
the machines are running JMeter 1.9.1 on Red Hat 9, kernel 2.4.20-20.9,  
with the Sun 1.4.2_01 JRE.  remote_hosts is set to the three test machines 
in jmeter.properties.  I've created a simple test plan consisting of a 
thread group (50 threads, 30s ramp-up, 100 loops), an HTTP sampler doing a 
simple get against a servlet on the server, and the simple data writer 
listener.  The machines are all on a switched LAN.

The main problem with the setup is that the test controller can't handle 
the load, and ends up being the bottleneck for the test.  With the 
configuration described above, it gets pegged at 99% CPU utilization until 
the test is finished.  I've tried playing with the number of threads and 
ramp up period a little, but I can't generate reasonable load on the 
server before the test control machine gets swamped.  It's an Athlon 2000+ 
with a gig of RAM, so I have some reason to expect it to be able to handle 
this load.  It may also be worth mentioning that in this configuration, 
the test controller sees about 230-300K/s of traffic, and the server only 
gets about 80-120K/s and about 4-8% CPU load.

I tried running jmeter in console mode (jmeter -n -r -t simpletest.jmx), 
but kept running into some sort of OutOfBoundsException (sorry, I don't 
have the stack trace with me at the moment) in an Apache collections 
class, which caused only one (the last) of the remote testing machines to 
be used for the test.  This of course reduced the load on the test 
controller (to about 30% CPU usage), but didn't really put any load on the 
server at all, as two of the remote test machines weren't being used.

I'm not really familiar with JMeter as a user, and I haven't looked at the 
code at all; is there something that I might have misconfigured that could 
lead to such a high load to just collect samples and write them to disk?  
Is something else going on?  Is it just the case that the remoting in 
jmeter is too chatty?  What can I do to stop the test controller from 
being the bottleneck, short of buying a 16-way machine?

I appreciate any suggestions that anyone can offer.  JMeter looks like a 
great piece of software, and I'd like to make it work!

-- 
Alfred Freur
Software Engineer
Contrado Partners, LLC

Mime
View raw message