Thursday, June 9, 2011

Report Analysis

In Jmeter, there is lot of type listener introduced, through we can analyse the performance result report easily. 
Most of the listeners perform several roles in addition to "listening" to the test results. They also provide means to view, save, and read saved test results.
Note that Listeners are processed at the end of the scope in which they are found.                  
The saving and reading of test results is generic. The various listeners have a panel whereby one can specify the file to which the results will be written (or read from). By default, the results are stored as XML files, typically with a ".jtl" extension. Storing as CSV is the most efficient option, but is less detailed than XML (the other available option).
Listeners do not process sample data in non-GUI mode, but the raw data will be saved if an output file has been configured. In order to analyse the data generated by a non-GUI test run, you need to load the file into the appropriate Listener.



Listeners can use a lot of memory if there are a lot of samples. Most of the listeners currently keep a copy of every sample in their scope, apart from:
  • Simple Data Writer
  • BeanShell/BSF Listener
  • Mailer Visualizer
  • Monitor Results
  • Summary Report
The following Listeners no longer need to keep copies of every single sample. Instead, samples with the same elapsed time are aggregated. Less memory is now needed, especially if most samples only take a second or two at most.
  • Aggregate Report
  • Aggregate Graph
  • Distribution Graph
To minimise the amount of memory needed, use the Simple Data Writer, and use the CSV format.

Graph Results:

The Graph Results listener generates a simple graph that plots all sample times. Along the bottom of the graph, the current sample (black), the current average of all samples(blue), the current standard deviation (red), and the current throughput rate (green) are displayed in milliseconds.

The throughput number represents the actual number of requests/minute the server handled. This calculation includes any delays you added to your test and JMeter's own internal processing time. The advantage of doing the calculation like this is that this number represents something real - your server in fact handled that many requests per minute, and you can increase the number of threads and/or decrease the delays to discover your server's maximum throughput. Whereas if you made calculations that factored out delays and JMeter's processing, it would be unclear what you could conclude from that number.
Control Panel                                 
The following table briefly describes the items on the graph. Further details on the precise meaning of the statistical terms can be found on the web - e.g. Wikipedia - or by consulting a book on statistics.
  • Data - plot the actual data values
  • Average - plot the Average
  • Median - plot the Median (midway value)
  • Deviation - plot the Standard Deviation (a measure of the variation)
  • Throughput - plot the number of samples per unit of time
The individual figures at the bottom of the display are the current values. "Latest Sample" is the current elapsed sample time, shown on the graph as "Data".

Spline Visualizer:

The Spline Visualizer provides a view of all sample times from the start of the test till the end, regardless of how many samples have been taken. The spline has 10 points, each representing 10% of the samples, and connected using spline logic to show a single continuous line.
The graph is automatically scaled to fit within the window. This needs to be borne in mind when comparing graphs.
Control Panel


                       


Assertion Results:

The Assertion Results visualizer shows the Label of each sample taken. It also reports failures of any Assertions that are part of the test plan.
Control Panel





View Results Tree:

The View Results Tree shows a tree of all sample responses, allowing you to view the response for any sample. In addition to showing the response, you can see the time it took to get this response, and some response codes. Note that the Request panel only shows the headers added by JMeter. It does not show any headers (such as Host) that may be added by the HTTP protocol implementation.
There are several ways to view the response, selectable by a drop-down box at the bottom of the left hand panel.
  • HTML
  • HTML (download embedded resources)
  • JSON
  • Regexp Tester
  • Text
  • XML

Control Panel
Here, the text view of the result.

As showed in below figure the result is displaying in HTML render format.

Aggregate Graph:

The aggregate graph is similar to the aggregate report. The primary difference is the aggregate graph provides an easy way to generate bar graphs and save the graph as a PNG file. By default, the aggregate graph will generate a bar chart 450 x 250 pixels.
Control Panel

See the Report for a similar Listener that does not store individual samples and so needs constant memory.
  • Label - The label of the sample. If "Include group name in label?" is selected, then the name of the thread group is added as a prefix. This allows identical labels from different thread groups to be collated separately if required.
  • # Samples - The number of samples with the same label
  • Average - The average time of a set of results
  • Median - The median is the time in the middle of a set of results. 50% of the samples took no more than this time; the remainder took at least as long.
  • 90% Line - 90% of the samples took no more than this time. The remaining samples at least as long as this. (90 th percentile )
  • Min - The shortest time for the samples with the same label
  • Max - The longest time for the samples with the same label
  • Error % - Percent of requests with errors
  • Throughput - the Throughput is measured in requests per second/minute/hour. The time unit is chosen so that the displayed rate is at least 1.0. When the throughput is saved to a CSV file, it is expressed in requests/second, i.e. 30.0 requests/minute is saved as 0.5.
  • Kb/sec - The throughput measured in Kilobytes per second
Times are in milliseconds.


2 comments:

Mohit Gupta said...

good job bro..
excellent article for learning
please posing like that....

Pranik Garg said...

Thanks Mohit...
and i will try to put my best knowledge over it...!!!pls lemme verify is thr any concern you have...