Using the Aggregate Report in JMeter, you can gauge the performance of your application based on several key metrics. Below are guidelines for what can be considered good performance rates for each of these metrics. These benchmarks can help you understand whether your application is performing well or if there are areas that need improvement.
1. Average Response Time
- Ideal: < 100 ms
- Good: 100 - 200 ms
- Acceptable: 200 - 500 ms
- Poor: > 500 ms
2. Median Response Time
- Ideal: < 100 ms
- Good: 100 - 200 ms
- Acceptable: 200 - 500 ms
- Poor: > 500 ms
3. 90th Percentile Response Time
- Ideal: < 200 ms
- Good: 200 - 300 ms
- Acceptable: 300 - 500 ms
- Poor: > 500 ms
4. 95th Percentile Response Time
- Ideal: < 300 ms
- Good: 300 - 400 ms
- Acceptable: 400 - 600 ms
- Poor: > 600 ms
5. 99th Percentile Response Time
- Ideal: < 500 ms
- Good: 500 - 700 ms
- Acceptable: 700 - 1000 ms
- Poor: > 1000 ms
6. Error Rate
- Ideal: 0%
- Good: < 0.1%
- Acceptable: < 1%
- Poor: > 1%
7. Throughput
- Good Throughput: This is more context-dependent. However, typical benchmarks are:
- API Services: 1000 requests per second (RPS) and higher.
- Web Applications: 50 - 100 RPS can be considered good for medium-sized applications.
High throughput indicates the application can handle a large number of requests efficiently.
8. Received KB/sec
- Good Rate: Depends on the application’s data transfer needs. Generally, higher rates indicate efficient data handling. Aim for minimal data transfer while achieving the required functionality.
9. Sent KB/sec
- Good Rate: Similar to received KB/sec, the goal is to handle the necessary data transfer efficiently. Higher rates can indicate more data being sent, but this should be balanced with optimization to reduce unnecessary data transfer.
Example Interpretation of an Aggregate Report
Consider an example aggregate report for an e-commerce application:
Label | # Samples | Average | Median | 90% Line | 95% Line | 99% Line | Min | Max | Error % | Throughput | Received KB/sec | Sent KB/sec |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Homepage | 10000 | 150 | 140 | 250 | 300 | 400 | 50 | 500 | 0.1% | 60/sec | 450 KB/sec | 45 KB/sec |
Login | 5000 | 200 | 190 | 270 | 320 | 500 | 60 | 700 | 0.2% | 30/sec | 180 KB/sec | 20 KB/sec |
Search Product | 7000 | 170 | 160 | 260 | 310 | 450 | 55 | 600 | 0.0% | 40/sec | 300 KB/sec | 25 KB/sec |
Analysis:
- Homepage:
- Average response time (150 ms) and median response time (140 ms) are good, indicating most users experience a fast response.
- 90th and 95th percentiles (250 ms and 300 ms) are within acceptable ranges, but the 99th percentile (400 ms) suggests some higher response times for a small fraction of users.
- Error rate is low (0.1%), and throughput is high (60 requests per second), indicating good performance.
- Login:
- Average (200 ms) and median (190 ms) response times are acceptable.
- 90th and 95th percentiles (270 ms and 320 ms) are slightly higher, indicating some variability.
- Error rate is 0.2%, which is higher than ideal but still acceptable.
- Search Product:
- Average (170 ms) and median (160 ms) response times are good.
- 90th and 95th percentiles (260 ms and 310 ms) are within acceptable ranges.
- Error rate is 0.0%, indicating high reliability.
Summary
A well-performing application, as shown by the Aggregate Report in JMeter, should exhibit low average and median response times, low error rates, high throughput, and efficient data transfer rates. By regularly monitoring and analyzing these metrics, you can ensure your application meets performance expectations and provides a good user experience.
0 comments:
Post a Comment