JMeter
JMeter from the Apache Jakarta project (first available 12/03),
simulates a concurrent heavy load on a server, network or object
and provides a graphical analysis of the strength
of its overall performance under different load types.
It's runs as a Java class, so
JMeter does not process Javascript or applets embedded in HTML pages.
A "Test Plan" is a container for "elements" which specifies the parameters for test runs.
Each "Thread Group" simulates what LoadRunner calls an individual virtual user.
Each "thread" is a unit of work that can be simultaneous or sequentially executed.
(JMeter itself is multi-threaded).
Right click on a thread group to add elements, which are executed in this order:
- Timers add delays between responses:
Constant, Gaussian Random, Uniform Random, Constant Throughput, Synchronizing, BeanShell
- Pre-Processors execute functions before requests are sent:
HTML Link Parser,
HTTP URL Re-writing Modifier,
HTML Parameter Mask,
HTTP User Parameter Modifier,
User Parameters,
Counter,
BeanShell PreProcessor
- Samplers are protocol specific.
The JUnit Sample includes oneTimeSetUp and oneTimeTearDown methods.
It scans jar files in jmeter/lib/junit (instead of /lib directory) for classes extending junit's TestCase class.
- Post-Processors execute functions after requests are sent.
Regular Expression Extractor,
XPath Extractor,
Result Status Action Handler,
Save Responses to a file,
Generate Summary Results,
BeanShell PostProcessor
- Assertions determine if the application is returning the results expected:
Response, Duration, Size, XML, BeanShell, MD5Hex, HTML, XPath, XML Schema
- Listeners perform data collection, aggregation, and visualization (display):
Sample Result Save Configuration,
Graph Full Results,
Graph Results,
Spline Visualizer,
Assertion Results,
View Results Tree,
Aggregate Report,
View Results in Table,
Simple Data Writer,
Monitor Results,
Distribution Graph (alpha),
Aggregate Graph,
Mailer Visualizer,
BeanShell Listener,
Summary Report
- "Logical controller elements" tells JMeter when to send requests:
Simple, Once Only, Loop, Random, Random Order, If, While, Switch, ForEach,
Module, Throughput, Runtime, Interleave, Include, Transaction, Recording
- "Generative Controller elements" communicate with applications.
JMeter replicates test requests to multiple injectors using a Java RMIRegistry service.
By default the application listens to port 1099.
|
|
|
|