WooCommerce Hosting Performance Benchmarks 2022
Please read the Methodology to fully understand the scope of these tests.
Note: Please check company profiles for summary of performances across multiple tiers. Some companies also offer promotions or coupon codes for a discount as well.
WooCommerce Hosting Performance Benchmarks is spawned off WordPress Hosting Performance Benchmarks and is designed to create a consistent set of benchmarks showing how WooCommerce specialized web hosting companies perform. The focus of these tests is performance, not support, not features, not any other dimension. These benchmarks should be looked at in combination with other sources of information when making any hosting decision. Review Signal’s web hosting reviews has insights for some of the companies with regards to aspects beyond performance. That said, for the performance conscious, these benchmarks should be a good guide.
The major differences from the WordPress methodology are the following:
Setup
All tests were performed on an identical WooCommerce dummy website with the same plugins except in cases where hosts added extra plugins or code. The Storefront theme was used with the following sample products. The following Plugins were installed: WooCommerce, and WP Performance Tester.
k6 Load Storm
The process for LoadStorm was the unique WooCommerce specific test emulated from last year into k6. There were four different profiles created and given their own user distributions (in % after profile), all with 5-10 second page think time. The test scaled from 4 to 1000 concurrent users over 40 minutes and stayed at 1,000 concurrent users for 20 minutes (60 minute test, 20 minute peak).
Profile 1 (20%): Buyer – Homepage, add item to cart, go to cart, checkout (doesn’t submit order)
Profile 2 (10%): Customer (existing) – Homepage, login, view orders, view account details
Profile 3 (20%): Browser – Homepage, visit 5 random product pages
Profile 4 (50%): Home – Homepage only
Source files available here: https://github.com/ReviewSignal/k6-WordPress-benchmarks
k6 Static
Followed the $51-100/Month Price Tier with load going from 1-2000 users over 15 minutes.
The Companies and Products
Company | Plan Monthly Price | Plan Visitors Allowed | Plan Memory | Plan Disk Space | Plan Bandwidth | Plan Sites Allowed |
---|---|---|---|---|---|---|
Cloudways | $50 | Unlimited | 4 GB | 80 GB | 4 TB | Unlimited |
GreenGeeks | $25.95 | Unlimited | 3 GB | Unlimited | Unmetered | Unlimited |
ICDSoft | $10 | Unlimited | 2 GB Per process memory limit | 100 GB | 5 TB | 1 site. |
Nexcess | 19 | Unmetered | cloud - variable bursts | 30 GB | 3 TB | 1 |
Pressable | $45 | 50,000 | 512 MB / Process | 30 GB | Unlimited | 3 |
raidboxes | 50€ | Unlimited | 4 GB | 20 GB | Up to 10Gbit | 1 |
SaveinCloud | BRL 510 | Unlimited | Up to 8 GiB Based on usage. | Up to 20 GB | Unlimited | Unlimited |
Servebolt | $99 | Dynamic Requests are set per plan | Umetered | 6 GB | Unlimited | 5 |
SiteGround | $39.99 | No hard limit. Recommended ~400,000 | N/A | 40 GB | Unlimited | No limit |
WordPress.com | $45 | Unlimited | N/A | 200 GB | Unlimited | 1 |
LoadStorm Testing Results
The Load Storm test (in k6) is designed to simulate real users visiting the site, logging in and browsing. It tests uncached performance.
The key metrics are:
- Total Requests - Number of requests k6 made
- Total Errors - Number of error requests
- p95 - The 95th percentile response time
- Page Cum Avg - Cumulative average response time for Pages (html)
- Asset Cum Avg - Cumulative average response time for Assets (css, js, images)
- Login Cum Avg - Cumulative average response time for Login (wp-profile.php)
- WP-Login Avg Response Time - Average response time for login (301 redirect which validates credentials)
Results Table
Company | Total Requests | Total Errors | Peak Rps | Average Rps | P95 | Page Cum Avg | Asset Cum Avg | Login Cum Avg | Wp-login Average Response Time | Woo Buyer Profile | Woo Customer Profile | Woo Browser Profile | Woo Home Profile | Woo Cart Response Cumavg |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Cloudways | 241670 | 81976 | 576.38 | 67 | 50943 | 6411 | 2143 | 1640 | 2755 | 51967 | 50943 | 49663 | 51455 | 7416 |
GreenGeeks | 512422 | 0 | 214.67 | 142 | 635 | 356 | 150 | 201 | 150 | 727 | 643 | 623 | 607 | 155 |
ICDSoft | 545190 | 0 | 226.33 | 151 | 441 | 168 | 242 | 194 | 163 | 423 | 411 | 419 | 453 | 164 |
Nexcess | 416711 | 582 | 198.81 | 115 | 6975 | 742 | 2058 | 2416 | 2263 | 7423 | 7231 | 3962 | 6911 | 2586 |
Pressable | 558910 | 0 | 234.48 | 155 | 313 | 167 | 70 | 249 | 200 | 563 | 401 | 250 | 299 | 204 |
raidboxes | 393812 | 0 | 289.05 | 109 | 6623 | 1093 | 2951 | 3875 | 3595 | 7167 | 6911 | 6175 | 6527 | 3852 |
SaveinCloud | 591120 | 57727 | 1019.81 | 164 | 675 | 310 | 319 | 382 | 359 | 911 | 639 | 607 | 555 | 377 |
Servebolt | 544637 | 4 | 228.24 | 151 | 411 | 212 | 177 | 240 | 210 | 495 | 429 | 403 | 369 | 216 |
SiteGround | 503987 | 2 | 212.76 | 140 | 1071 | 200 | 650 | 753 | 716 | 1279 | 1055 | 855 | 1031 | 805 |
WordPress.com | 516616 | 0 | 214.29 | 143 | 519 | 115 | 323 | 421 | 329 | 987 | 651 | 373 | 431 | 344 |
Discussion
GreenGeeks, ICDSoft, Pressable, Servebolt, and WordPress.com didn't have any issues.
SiteGround had good looking tests, just the response time was a little on the slower side with p95 of 1071 and 3/4 profiles loading over 1000ms on average.
Cloudways started slowing down around 200 VUsers with errors kicking in around 450 which is when login stopped functioning.
Nexcess and Raidboxes both started slowing down around 600 VUsers.
SaveinCloud actually had a great run if you removed a 3 minute window where auto scaling started kicking in. The auto scaling caused some errors/load time increases while getting started, but once it was running the performance was solid and completely recovered.
Load Storm Average Response Time by Profile
This takes deeper look at the results and analyzes the performance of loading HTML mime types, to ignore a lot of static assets which are cached and bring down average response times. This tests how fast the initial pages are delivered, which is what a user would experience before loading all the other assets like css, javascript and images.
Results Table
Company | Buyer Profile | Customer Profile | Browser Profile | Home Profile | Cart Response Cumavg |
---|---|---|---|---|---|
Cloudways | 51967 | 50943 | 49663 | 51455 | 7416 |
GreenGeeks | 727 | 643 | 623 | 607 | 155 |
ICDSoft | 423 | 411 | 419 | 453 | 164 |
Nexcess | 7423 | 7231 | 3962 | 6911 | 2586 |
Pressable | 563 | 401 | 250 | 299 | 204 |
raidboxes | 7167 | 6911 | 6175 | 6527 | 3852 |
SaveinCloud | 911 | 639 | 607 | 555 | 377 |
Servebolt | 495 | 429 | 403 | 369 | 216 |
SiteGround | 1279 | 1055 | 855 | 1031 | 805 |
WordPress.com | 987 | 651 | 373 | 431 | 344 |
Cloudways is the unfortunate standpoint with their response times nearly maxing out.
Nexcess and Raidboxes also slowed down a significant amount on every profile.
Pressable had 3/4 fastest profiles.
Servebolt was consistent top 3 in every profile.
ICDSoft was the fastest in one profile and top 3 in another.
WordPress.com was in the top 3 twice.
GreenGeeks had the fastest cart response time.
K6 Static Testing Results
K6 Static test is designed to test cached performance by repeatedly requesting the homepage.
Results Table
Company | Requests | Errors | Peak Rps | Average Response Time | Average Rps | P95 |
---|---|---|---|---|---|---|
Cloudways | 664893 | 0 | 1433 | 356 | 730 | 723 |
GreenGeeks | 675391 | 0 | 1493.83 | 334 | 741 | 663 |
ICDSoft | 687045 | 0 | 1437.83 | 312 | 755 | 723 |
Nexcess | 693987 | 67 | 1467.83 | 297 | 758 | 487 |
Pressable | 879768 | 0 | 1961.33 | 24 | 966 | 140 |
raidboxes | 654636 | 0 | 1436.33 | 377 | 719 | 871 |
SaveinCloud | 732280 | 17 | 1614.33 | 230 | 805 | 425 |
Servebolt | 764551 | 6 | 1687.83 | 178 | 812 | 301 |
SiteGround | 864388 | 0 | 1895.33 | 42 | 950 | 149 |
WordPress.com | 894301 | 0 | 1973.83 | 7.2 | 982 | 21 |
Discussion
GreenGeeks, Pressable, Raidboxes, SaveInCloud, Servebolt, SiteGround, and WordPress.com all handled this test without issue.
Cloudways and ICDSoft started getting a few minor spikes towards the end of the test, but nothing major.
Nexcess struggled towards the end of the test with response times exceeding 2000ms.
Uptime Testing Results
Uptime is monitored by two companies: HetrixTools and Uptime Robot. A self hosted monitor was also run in case there was a major discrepancy between the two third party monitors.
Results Table
Company | Uptime Robot | Hetrix |
---|---|---|
Cloudways | 99.985 | 99.8499 |
GreenGeeks | 99.992 | 99.9895 |
ICDSoft | 99.957 | 99.9476 |
Nexcess | 99.89 | 99.8951 |
Pressable | 99.997 | 100 |
raidboxes | 99.99 | 99.9882 |
SaveinCloud | 99.85 | 99.8476 |
Servebolt | 99.998 | 99.9657 |
SiteGround | 100 | 99.9942 |
WordPress.com | 100 | 100 |
Discussion
GreenGeeks, ICDSoft, Pressable, Raidboxes, Servebolt, SiteGround, and WordPress.com all had good uptime.
Nexcess and SaveInCloud fell just below the 99.9% threshold expected.
Cloudways showed good uptime on one monitor while the second showed good uptime. The issue seemed to be resolving the hostname from HetrixTools. Unfortunately, I don't a third monitor to tie break in this instance.
WebPageTest Testing Results
WebPageTest fully loads the homepage and records how long it takes from 12 different locations around the world. Result are measured in seconds.
Results Table
Company | Virginia | California | Salt Lake City | London | Frankfurt | Cape Town | Singapore | Mumbai | Tokyo | Sydney | Brazil | Dubai | Average |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Cloudways | 0.574 | 0.912 | 0.994 | 1.019 | 1.081 | 2.25 | 2.239 | 2.053 | 1.591 | 2.053 | 1.249 | 2.5 | 1.542916667 |
GreenGeeks | 0.366 | 0.393 | 0.425 | 0.492 | 0.586 | 1.061 | 1.001 | 1.03 | 0.885 | 0.856 | 0.693 | 1.065 | 0.73775 |
ICDSoft | 0.698 | 0.901 | 1.037 | 0.954 | 1.152 | 2.071 | 2.435 | 1.901 | 1.622 | 1.996 | 1.274 | 2.257 | 1.524833333 |
Nexcess | 0.761 | 0.87 | 1.042 | 1.002 | 1.542 | 2.154 | 1.737 | 1.817 | 1.39 | 2.002 | 1.537 | 2.462 | 1.526333333 |
Pressable | 0.741 | 0.667 | 0.933 | 0.906 | 0.622 | 0.91 | 0.754 | 1.118 | 0.886 | 0.664 | 0.726 | 1.403 | 0.8608333333 |
raidboxes | 1.195 | 1.552 | 1.389 | 0.697 | 0.57 | 1.633 | 1.65 | 1.25 | 2.323 | 2.807 | 2.117 | 2.112 | 1.607916667 |
SaveinCloud | 1.604 | 1.839 | 1.676 | 1.956 | 2.221 | 3.038 | 3.452 | 3.79 | 3.087 | 3.519 | 0.722 | 2.977 | 2.490083333 |
Servebolt | 0.806 | 0.645 | 0.946 | 1.028 | 0.985 | 1.54 | 1.361 | 1.394 | 1.125 | 1.389 | 1.256 | 2.448 | 1.243583333 |
SiteGround | 1.153 | 0.923 | 1.218 | 1.124 | 1.204 | 2.274 | 1.441 | 1.823 | 1.383 | 1.485 | 1.885 | 2.935 | 1.570666667 |
WordPress.com | 0.612 | 0.551 | 0.873 | 0.588 | 0.608 | 0.915 | 0.644 | 0.602 | 0.999 | 0.617 | 0.638 | 1.736 | 0.7819166667 |
Discussion
GreekGeeks is the surprising standout this year with the fastest average response time globally and notching itself 6/12 fastest response times.
WordPress.com was fastest in 4/12 locations with sister company Pressable just edging it out by 5ms in Cape Town. German company Raidboxes picked up the final fastest location out of their home country with the fastest speed in Frankfurt.
What is impressive is the fastest average time last year was 1.15, this year it was .73 (GreenGeeks) with two more companies - Pressable/WordPress.com - coming in faster than fastest average last year. The second slowest average (1.6) would be the third fastest speed the previous year.
Everyone, especially consumers, looks like a winner given the historical context.
WPPerformanceTester Testing Results
WPPerformanceTester performs two benchmarks. One is a WordPress (WP Bench) and the other is a PHP Bench. WP Bench measures how many WP queries per second and higher tends to be better (varies considerably by architecture). PHP Bench performs a lot of computational and some database operations which are measured in seconds to complete. Lower PHP Bench is better.
Results Table
Company | PHP Bench | WP Bench |
---|---|---|
Cloudways | 7.568 | 963.3911368 |
GreenGeeks | 14.88 | 1148.105626 |
ICDSoft | 10.152 | 1426.533524 |
Nexcess | 7.732 | 966.1835749 |
Pressable | 10.13 | 1356.852103 |
raidboxes | 7.964 | 737.4631268 |
SaveinCloud | 10.914 | 560.2240896 |
Servebolt | 5.839 | 2178.649237 |
SiteGround | 9.406 | 1468.428781 |
WordPress.com | 9.647 | 2463.054187 |
Discussion
Version 2 of the plugin was used, so we cannot compare against previous years.
Servebolt was the fastest by a decent margin on the PHP Bench.
GreenGeeks was the slowest with a score almost 3 times as high as Servebolt. It does show us that raw CPU doesn't necessarily translate to the best performance though.
WordPress.com had the fastest WP Bench with Servebolt not too far behind.
Cloudways, Nexcess, Raidboxes and SaveInCloud had the slowest WP Bench scores, which interesting correlated with who struggled on the Load Storm test (although SaveInCloud's autoscaling handled it). A database heavy system like WooCommerce might have more correlation with WP Bench scores in terms of performance.
SSL Testing Results
The tool is available at https://www.ssllabs.com/ssltest/
Results Table
Company | Qualsys SSL Grade |
---|---|
Cloudways | A |
GreenGeeks | A+ |
ICDSoft | A |
Nexcess | A |
Pressable | A |
raidboxes | A+ |
SaveinCloud | A |
Servebolt | A |
SiteGround | A |
WordPress.com | A+ |
Discussion
In the words of Oprah, you get an A, you get an A, you get an A.
Everyone gets an A.
GreenGeeks, Raidboxes and WordPress.com all got A+.
Conclusion
There are two levels of recognition awarded to companies that participate in the tests. There is no ‘best’ declared, it’s simply tiered, it’s hard to come up with an objective ranking system because of the complex nature of hosting. These tests also don’t take into account outside factors such as reviews, support, and features. It is simply testing performance as described in the methodology.
Top Tier
This year's Top Tier WordPress Hosting Performance Award goes to the following companies who showed virtually no signs of struggle during the testing.
Honorable Mention
The following companies earned Honorable Mention status because they did very well and had a minor issue or two holding them back from earning Top Tier status.