Wednesday 20 November 2013

Analyzing Performance result


There are different parameters need to be consider during performance testing like average response time, throughput and latency. Test results are used for analyzing failed call rates.

The most important parameter is to find the response time for number of virtual users (like 50,100,200 etc.)

Jmeter is an open source tool designed to measure performance. It is use to simulate a heavy load on a server.There are different listeners available in jmeter to capture performance result. The most commonly used are Result tree and Summary report.The summary report gives information about average response time,standard deviation and error rate.Result tree can be used for debugging any request. It gives real time details about thread actions.

Performance results are analyzed in steps.Initially performance of all API requests per functionality for one users is executed.Then gradually scale the number of users. Cover the performance of different functionalities independently. eg. Login.

Measure the performance of each components used in product. Then determine bottleneck.

The performance result varies with log level. The response time is calculated by keeping the log level on ERROR.

Performance result also depends on tomcat performance.
A tomcat with default configuration can handle max 300req/sec. By tweaking tomcat connection parameters performance can be improved.

Consider the performance of database used in product. Make sure that all queries are appropriately used in code.

Parameters that are monitored during the performance test are as follows:
  1. Average Response time
  2. Standard deviation
  3. Harmonic mean
  4. Throughput
  5. Latency
  6. Request passed / failed
  7. CPU usage
  8. Memory usage
  9. Disk usage
  10. SQL queries to the database

Performance suite should not be run only once it might give an inaccurate reading. For example, some requests fires multiple queries internally. The first request is going to be slow because a database hasn’t cached it yet. After results are cached every following request will take significantly less time. So the results are calculated as an average of three runs.

No comments:

Post a Comment