Project
Home
News
Overview
Getting Started
Download
Mailing Lists
SourceForge Project
Author
  Essays
Applying Little's Law
Cache Simulation with R
Simple Arrival Rate Log Analysis with R
System Tuning with Queues
Stress Early, Stress Often
  Tools
R
gnuplot

JStress: A Performance Profiling Harness

JStress is a lightweight and extensible performance harness for executing both simple and complex tasks while efficiently accumulating relevant metrics. Tasks can be written that will exercise code in the local process space or on any remote system. And these tasks can be executed using various attack or run strategies simulating different types of loads on the system. The results of these tests can be plotted or imported into various statistics tools.

JStress is intended to be run from a remote shell, so it has no GUI component. This allows you to execute JStress on the same network as your target application improving the chance of saturating it with requests so that you can render a more accurate profile. You may also concurrently run multiple instances of JStress on multiple machines. When you analyze the results, all you need to do is merge the individual logs (and likely sort them by time stamp). Note only one of these instances needs to enable the incremental stepping of the arrival rate. The others can provide a constant arrival rate (the sum being the minimum rate you wish to measure).

Out of the box JStress can load any web service over HTTP by supplying it with a list of GET requests scraped from logs to replay (in order or randomly). This is perfect for loading a system to identify the number of concurrent requests the server can manage. Or to fine tune a caching strategy implemented by squid or apache. See the list of essays on the sidebar for details.

The JStress project was started in Sept 2001. Development over the past few years has been relatively bursty. I'm no longer managing the code in CVS, so please don't expect to get a a modern version from there.

Read the Getting Started page for an explanation of how JStress works.

Periodically news and relevant information about JStress is posted here.