The six parameters of Web response time are listed below:
- Page size: Page size is measured in Kbytes, and on the surface, the impact of this variable is pretty obvious: the larger the page, the longer it takes to download. When estimating page size, however, many people fail to consider all the components that contribute to page size. Images, Java and other applets, banners from third sources, etc.
- Minimum bandwidth: Minimum bandwidth is defined as the bandwidth of the smallest pipe between your content and the end user. Just as the strength of a chain is determined by its weakest link, the effective bandwidth between two end points is determined by the smallest bandwidth between them.
- Round trip time: In the context of Web page response time, round-trip time (RTT) indicates the latency, or time lag, between the sending of a request from the user’s browser to the Web server and the receipt of the first few bytes of data from the Web server to the user’s computer. RTT is important because every request/response pair (even for a trivially small file) has to pay this minimum performance penalty. Typical Web page requires several request/response cycles.
- Turns: A typical Web page consists of a base page [or index page] and several additional objects such as graphics or applets. These objects are not transmitted along with the base page; instead, the base page HTML contains instructions for locating and fetching them. Unfortunately for end-user performance, fetching each of these objects requires a fair number of additional communication cycles between the user’s system and the Web site server each of which is subject to the RTT delay.
- Server processing time: The last factor in the response time formula is the processing time required by the server and the client to put together [i.e. generate and render] the required page so it can be viewed by the requester. This can vary dramatically for different types of Web pages. On the server side, pages with static content require minimal processing time and will cause negligible additional delay. Dynamically created pages (e.g., personalized home pages like my.yahoo.com) require a bit more server effort and computing time, and will introduce some delay. Finally, pages that involve complex transactions (e.g., credit card verification) may require very significant processing time and might introduce delays of several seconds.
- Client processing time: On the client side, the processing time may be trivial (for a basic text-only page) to moderate (for a page with complex forms and tables) to extreme. If the page contains a Java applet, for example, the client’s browser will have to load and run the Java interpreter, which can take several seconds.
Page response time = (Page Size/Minimum Bandwidth) + (Round Trip time * Turns) + Server Processing time + Client Processing time
There are few factors that can determine the turn count
- Http 1.0 or http 1.1. Http 1.1 uses persistent TCP connections so that the browsers do not repeatedly closes and reopen TCP connections with a server and for large files TCP segments will be larger. This will reduce turns.
- Recent browser versions open parallel 2 or more connections for each distinct server domain.
- Client side caches in browsers.
So in nutshell
Page Size: larger the page size and or complex data longer the response time.
Bandwidth: Low or congested bandwidth, the longer the response time.
Turn : Higher the number of turns, longer the response time
Round trip time: Longer the distance between user and server, longer the response time
Server processing: The more stressed or busy the server, longer the response time
Client processing: More the client sever busy/low end client, longer the response time.
Page Size/bandwidth – As the Bandwidth increases, this factor becomes smaller. With a very high bandwidth and very small page size this can approach to zero.
Turns * RTT – RTT or ping time cannot be zero though it can be very less for faster connections. If the ping time is say 100 ms and there are 20 turns. It comes out to be 2 sec for network latency.
So not only the server processing time or the client processing time that contributes to longer response time. If the web page size is large or numbers of turns are too many, it can also increase the response time.