The the average loading time of your website is crucial, especially for the landing page.
If it is less than 3 seconds, you shall be happy; if over 10 seconds, you’re doom.
Usually loading a webpage takes below sequential stages:
- Dns lookup
- Initial connections: tcp connect
- Receive data: such as css, js, images, etc
- Render the page: build up html DOM elements
- Async loading: ajax or some parallel download
webpagetest is my favorite test tool: http://www.webpagetest.org
Though it might look a bit ugly, it’s powerful. It supports:
- Choose test location
- Choose user agent: simulate mobile visitors or computer ones, firefox or chrome, etc.
- Detail breakdown for how time spends in different stages.
- Performance review and tuning suggestions
pingdom is a bit similar like webpagetest: http://tools.pingdom.com/fpt/
It has a much better UI, while less powerful.
Local test by GUI*: Firefox Add-on YSlow from Yahoo should be a treasure for you.
It not only show how time is spent, but also detail suggestions for how to improve.
Local test by CLI*. Below are some command lines to get a rough performance statistics.
time wget -E -H -k -K -p https://www.dennyzhang.com
ab -i -n 100 -c 5 https://www.dennyzhang.com
The most accurate tool above is wbench: https://github.com/desktoppr/wbench.
wbench will automatically launch chrome multiple times, to figure out how time is spent.
Note: chromedriver in CentOS6 or before is no longer supported by google.
You may need some extra effort, if you want to try wbench in that kind of server.