The primary purpose of reading throughput graph is to identify network bandwidth issue. A simple thumb rule to detect network bandwidth issue is:
If the throughput scales upward as time progresses and the number of Vusers increase, this indicates that the bandwidth is sufficient. If the graph were to remain relatively flat as the number of Vusers increased, it would be reasonable to conclude that the bandwidth is constraining the volume of data delivered
Apart from network bandwidth issue, the throughput graph shows the amount of data transferred from server to client and it is measured in terms of bytes, KB or MB.
- X-axis: This graph shows elapsed time on X-axis. The elapsed time may be relative time or actual time as per the setting of the graph. The X-axis of the graph also shows the complete duration of the test (without applying any filter).
- Y-axis: It represents the amount of data received from server to client (in bytes/KB/MB)
How to read:
The graph line shows how much amount of data sent by the server in per second interval. As I explained in the graph’s purpose section using a throughput graph you can get an idea on network bandwidth issue (if any). A flat throughput graph with an increase in network latency and user load shows an issue in network bandwidth. Apart from this if throughput scales downward as time progresses and the number of users (load) increase, this indicates that the possible bottleneck is at the server end. In that case, you need to merge the throughput graph with error graph, user graph and response time graph to identify the exact bottleneck.
Merging of Throughput graph with others:
- With Running Vuser graph: Merge Running Vuser graph with Throughput graph and understand the pattern. Ideally, throughput should increase during the user ramp-up period. As the number of users progress, more data comes from the server. The throughput graph should remain in a range during the steady-state of the test. If you observe a sudden fall in the throughput graph during steady-state of the test then it indicates the server-side issue. What is the issue? That you need to investigate using server logs.
Another scenario is when throughput becomes flat while increasing number of users then it may lead to the bandwidth issue. To confirm bandwidth issue you need to merge the throughput graph with Latency.
- With Network Latency graph: To confirm network bandwidth issue you have to look into Network latency graph by merging with throughput graph. If latency increases without an increase in throughput then it’s a Network Bandwidth issue.
- With Average Transaction Response Time graph: Response Time graph can be correlated with Throughput graph. Increase in response time with constant throughput may be due to network bandwidth issue. To confirm please refer Latency graph. If you see throughput degradation with an increase in response time then start the investigation at the server end.
- With Error per second graph: Throughput graph can be merged with error per second graph to identify the point when error starts to occur and what type of error?