Today, while I was off duty, I looked at the page load time analysis tool and related documents of the Chrome browser, simply write something and record it.
Take Baidu homepage Load as an example, analyze the next picture 1.jgp (that is, the background map) load time
Look at the Timing tab on the right, and look at each stage from the bottom up:
On the bottom line, explanation is a link to a document that Chrome explains to timing (from which you can see that Chrome is really friendly to developers), which takes a total of 36.32ms of time to load the image.
Content Download, the time taken by the browser to download the response file is 26.84ms, which is related to the local network.
Waiting (TTFB), the main component of the time it takes from initiating a request to receiving the first byte of a server response: Server Response and network transport (roundtrip).
Request sent. The request is being sent. Indicates that the request is being issued, which is not time consuming.
stalled. The request could is stalled for any of the reasons described in queueing. Requests are queued for various reasons and are related to the request queue. The request for this picture was delayed by 1.48ms.
Queueing (queued). The browser queues requests when: The browser queues a request in the following situations:
- There is higher priority requests. Higher-Priority requests
- There was already six TCP connections open for this origin, which is the limit. Applies to http/1.0 and http/1.1 only. Under the http1.0/1.1 protocol, chrome limits the number of concurrent requests (connections) under the same domain name to 6. The reason for this: (1) is based on the number of ports and thread switching overhead considerations, the browser is not an unlimited number of concurrent requests: due to the limitations of the TCP protocol, only 65,536 ports on the PC can be used to make connections to the outside, while the operating system half-open connections are also limited to protect the operating system TCP\IP The protocol stack resources are not exhausted quickly, so the browser does not emit too many TCP connections, but instead uses the same method of reusing TCP connections or simply re-establishing TCP connections. If a blocked socket model is used to establish a connection, and multiple connections are made, the browser will have to open several more threads, and threads are sometimes not lightweight resources, after all, it is not a small cost to do a context switch. (2) In order to prevent excessive concurrency caused the server to crash, this is a "conscience of the TCP client" a tacit understanding of the server. See: What is the number of concurrent request resources allowed by the browser?
- The browser is briefly allocating spaces in the disk cache browser is allocating space on the hard drive's caches.
One of the main optimizations we can optimize for a request is TTFB, which is the interval from initiating the request to receiving the server response. It can also be seen that the proportion of time it consumes is also relatively large. Then it is mainly from the server response and network transmission these two aspects to start. if only consider the network transmission this factor, then compressed transmission of data, after all, network speed is limited, reduce the number of data transmitted bytes can speed up the transfer speed.
Analyze page load times via Chrome browser