Does having an SSD versus an HDD matter when it comes to website hosting? There's tons of evidence for how having a faster drive can help on a workstation or gaming computer, and the benefits are incredibly clear. But, when it comes to hosting websites, does a faster drive really make that much of a difference?
Here at Mythic Design, we host all of our client sites using a VPS, or virtual private server. This VPS comes with 120 GB of storage on an NVMe SSD - which, if you know anything about drives, you'll know is very fast. The issue is, however, that 120 GB is not that much space, especially when you host as many media-heavy websites as we do.
Because of that, we recently came to a crossroads. We were running out of storage and needed to make a decision between upgrading our VPS storage (from 120 GB to 240 GB) OR paying just a little bit extra to get a fully dedicated server. The main issue, of course, is that the dedicated server option was limited to a regular, slow HDD. Even though it had a much larger 1 TB of storage space, that slower speed put me off. So much so, in fact, that my initial reaction was to discount the idea of ever having an HDD for my web hosting. But I realized I didn't really know if it would make any lick of difference, so I set out to find the answers.
Hypothesis: SSDs should make a web hosting environment significantly faster if that is the only component that is different about it.
To test this theory, I needed two identical hosting environments with one clear and major difference - the storage. In practice, this can be somewhat difficult to achieve since most hosting environments that have an SSD ALSO have betters specs like higher amounts of RAM or a better processor. For this, I took a page from Kushal A. at WPAQ and decided to use Google Cloud hosting for the site files since this would give me that option.
Server Location: northamerica-northeast1-a
CPU: 2 vCPU
Storage: 20 GB Standard Persistent Disk
Server Location: northamerica-northeast1-a
CPU: 2 vCPU
Storage: 20 GB SSD Persistent Disk
With our server environments set up, let's discuss the different tests that we'll be running. I wanted this to be as real-world as possible, so I'm going to be using three actual client sites that I'm currently hosting as test subjects. I'm not going to specify which ones, but I'll break these down into two "types" of sites:
Each of these sites will be put into three scenarios on each of the testing servers. These scenarios will be:
In each of the scenarios I'll run a performance tests using Google PageSpeed Insights, Pingdom, and GTMetrix. I'll perform each of the tests three times for each site/scenario combination and average out the data to get our final results.
The data we got back after doing our tests on our "standard" WordPress installation were... disappointing. Everything was well within what I'd consider to be our margin of error. It didn't appear that either HDD or SSD made a significant performance difference either way for this type of site. The results were even seemingly incompatible with each other. This goes to show the volatility and randomness of how exactly web content gets downloaded - and how a client might handle the page.
The results for the "heavier" WordPress site (remember, running more resource hungry plugins like Woocommerce and Gravity Forms), told a different story though. These results appear more in line with what we'd expect to find with faster drives.
Google's Pagespeed Insights showed us that our SSD server was performing up to a full second slower than the HDD server, which is the opposite of what we'd expect on the standard installation. For our heavier installation, we did see a significant (~10%) improvement in load times when no caching or optimization was implemented, but once we added those optimizations in, the improvements became less noticeable and fell back within our margin of error.
Moving on to look at our Pingdom test's data, it looks like the SSD server was actually between half a second and three-quarters of a second slower than our HDD server on our standard installation but once we added OPCache, it became faster than the HDD server by just over a tenth of a second. The same test done on our heavy installation showed up to 50% improvements in load time on average, which was encouraging to see!
GTMetrix tells a different story for our standard installation. In these cases, our load times were either exactly the same or up to six tenths of a second faster on the SSD server, which is more close to what we might expect. When we tested our heavier installation, however, these improvements became far less noticeable.
When it comes to the average website - a small business, a non-profit or church, and even basic low-traffic e-commerce stores - we didn't notice significant enough improvements to conclusively say that SSDs are worth the cost difference for website hosting. In some cases, they even performed worse.
The assumption from here is that maybe if we were working with more complex sites with thousands of visitors per day and tons of processes to load and keep track of, the differences between HDD and SSD would become more noticeable. But considering these types of sites are going to be super well optimized and, for the most part, use services like CDNs and even load balancers, I don't think that these differences would be as significant as it might seem.
For me, this is good enough evidence to support opting for a larger storage amount on an HDD versus spending the extra cash for a faster, and smaller, SSD. At least when it comes to my web servers, that is.
If you'd like to get access to the data I recorded for this experiment, you can view it all in a Google Sheet here. If you have thoughts on our testing methodology, please give this experiment a shot for yourself! The more data we can gather, the more evidence we'll have and the easier it'll be to make a conclusion.
Looking for a way to speed up your website easily? Get WPRocket!