UPDATE: database latency is by far the dominant factor in my site’s performance. Although using a dedicated Amazon RDS MySql instance, this site is on Dreamhost shared hosting. The latency to the AWS server means that even the 37 queries necessary for the basic front page view turned less than 100ms into a 6 second load.
Harder than you think it might be is having a grasshopper-fast web site. Here’s my research into what, exactly, “fast” means, and how to achieve it.
How Fast is Fast?
Here are some facts:
- IBM produced a paper distinguishing between >400ms and <400ms response time: http://daverupert.com/2015/06/doherty-threshold/ Computer response less than 400ms was “addicting”.
- This site recorded the median response time to stimulus is 266ms.
- Google’s PageRank algorithm says that page load speed is a factor in page ranking.
In short, faster is better, with no upper limit where benefits stop. My subjective experience is that there’s no instance I can generate for which improvement isn’t a benefit.
How Fast Is Your Site?
We’ve tested our sites with https://www.webpagetest.org/
What Are the Results?
All tested scenarios are with default WordPress install. The tested scenarios are:
- Dreamhost shared hosting with Dreamhost-provided MySQL
- AWS EC2 micro instance with local MySQL
- Dreamhost DreamCompute instance
|First Byte||Document Complete||Fully Loaded|
|DreamHost shared Hosting||0.838s||2.893s||3.088s|
|EC2 T2.micro with local database||0.304s||4.538s||4.664s|
There are a couple of big surprises here. The first is that a shared hosting site isn’t so bad, all in all. First byte time is a couple hundred milliseconds slower than on a dedicated machine. Another is that the dedicated hosting time to complete file delivery is much slower than for shared hosting.
The biggest surprise is that the ratings for hosting from WebPageTest weight first byte response time so highly that the dedicated host is given a “B” grade, but shared hosting an “F”. Can’t tell you from these numbers how I would subjectively rate the experience.