Successful Performance Analysis depends on the ability to identify bottlenecks in the application or system infrastructure. A bottleneck can be caused by any element on a page that is taking longer than other page elements to fully load, or it could be an overloaded segment of the network or a security process that is delaying the browser’s requests and responses.
Analysis and tuning is not a “one time” type of event, but rather a cyclical process of evaluation and elimination of performance bottlenecks, using iterative load testing of the application. Every cycle of a load test could uncover new issues in the system, as the elimination of one larger issue in a previous cycle might unmask other issues.
Listed below are few effective performance analysis steps/methods:
Response Size and compression
This should be the first step in performance analysis. It can be easily done using any browser plugins such as http watch/ firebug netexport/IE developer toolbar etc. The response size should not be too large and it should be compressed.
Time to first byte
A long first byte time indicates that the host server is delayed in getting the beginning of the requested information back to the browser. This is most frequently caused by an overloaded host server, or a congested pathway between the server and the browser. Solution for element with a long first byte value might include having it served from a different host, moving the serving host to another location in the infrastructure, or possibly optimizing the object through the use of a Content Delivery Network (CDN)
Response transfer time
A long transfer time might indicate that the element itself might be oversized for the application. This could be rectified by allowing the application to call down the information contained in this element through a series of smaller requests or compressing it if not done.
Gaps between requests
It might appear that sometime there is a short delay between the conclusion of one request and the beginning of processing for the next request. The most frequent reason for this is that the browser requires extra time to establish a connection to the target web server. This can be tuned in the application.
Above are few areas that can be looked into for identifying the Performance bottlenecks and help in effective performance analysis.