Tag Archives: Digital Ocean

Ethics in Web Hosting – HostCamp Presentation

In June, I was the opening speaker for the inaugural HostCamp in Berlin, which was a side event for the larger WordCamp Europe.

My topic presentation and topic was Ethics in WordPress Hosting. It was a topic the event organizer, Jonathan Wold, and I talked about at length. The goal was to start a discussion about ethical issues facing the industry, what sort of behavior and policies people have and how to address them.

The event was by invitation and I cannot discuss what others shared because that was in private. My goal was to convince web hosting company executives that ethics matter, not just for the sake of being ethical. I wanted to show how even perceived unethical behavior could financially harm companies today with social media. So please act properly, it's in your best financial interest. One of the case studies is Digital Ocean which I wrote about and inspired the talk.

 

Ethics and One Tweet’s Impact on Digital Ocean

I am speaking at HostCamp (side event to WordCamp Europe) in a couple weeks on the topic of Ethics in WordPress Hosting. I'm not really sure WordPress hosting has any specific differences from web hosting in general when talking about ethics. But ethical behavior in the web hosting space is something I talk about a lot. I also aggressively call out people/companies behaving unethically on this blog in the web hosting space. [1] [2] [3] [4]

As I was writing a response to a short interview to introduce the topic, I tried to think about a relevant example of why ethics matter in web hosting. A very recent event jumped to mind, someone tweeting that Digital Ocean [Reviews] shut down their company.

This tweet was sent by @w3Nicolas.

The stats are staggering:

That's only in the communities I participate in, I was sent the link by multiple people in other groups as well. I'm sure tens of thousands of people, if not more, read about this incident.

 

This is a view into what that tweet did to Digital Ocean's data here on Review Signal (I track Twitter data and sentiment about web hosting companies for the unfamiliar). I pulled the past 30 days of Digital Ocean information.

The tweet was sent on May 31, the 4th data point. We see an enormous jump in tweet volume. The preceding days had an average of 248 tweets per day. May 31 had 2000 and June 1 had 2489 tweets, nearly 10X the normal volume for two days. By June 4, we're down to 274 tweets, a normal volume. The internet outrage machine was out in force and spreading the word.

Digital Ocean responded on Twitter with Moisey Uretsky, a cofounder, intervening to escalate and resolve the issue. Digital Ocean also released a post-mortem on June 4 about what happened as promised (Nice to see a company keep their word and admit mistakes).

What does this have to do with Ethics?

Why did I even write this story and what does it have to do with ethics? The question I was trying to answer when I started thinking about this incident and digging into the data is "Why should hosting companies and those who do business with them care about ethics?"

A lot of developers and entrepreneurs read a story about a guy who was shutdown without warning, and then locked out seemingly permanently without being treated fairly. It strikes a chord with people when someone is being treated wrongly/badly with no explanation, especially when it's their livelihood that is impacted. It violates a fundamental moral code of fairness and trust.

The impact for a perceived ethical violation in this case was tens of thousands of people reading a negative story. It generated heated discussions and some very negative comments.

My data showed a tremendous increase in negative messages with the ratio dropping to 34% (Digital Ocean has historically over 70% positive messages).

They were quick to jump into some of the communities and address the issue. The post-mortem on Twitter received 225 Likes and 62 Retweets. That's 2.4% the amount of retweets and 4.9% the Likes. The impact of addressing the issue and trying to improve made a tiny fraction of the impact.

I will be clear here, I don't think Digital Ocean acted maliciously or unethically (intentionally). It sounds like a combination of automated system and a couple human mistakes lead to a very bad outcome for a customer that attracted a lot of attention. The way it was portrayed evoked feelings of an ethical violation of fairness and trust.

Digital Ocean's post-mortem's conclusion:

We wanted to share the specific details around this incident as accurately and quickly as possible to give the community insight into what happened and how we handled it. We recognize the impact this had on a customer, and how this represented a breach of trust for the community, and for that we are deeply sorry. We have a number of takeaways to improve the technical, process, and people missteps that led to this failure. The entire team at DigitalOcean values and remains committed to the global community of developers.

So when companies think about how they should behave, I want to use this example as an argument that people do care about companies behaving ethically and awareness of their behavior can quickly be amplified when a person's story resonates.

Review Signal’s Best Web Hosting Companies in 2016

2016 Year in Review

I like to take this opportunity to look back at the year and see how Review Signal has changed. This past year we added ~36,000 new reviews. Added one new company: WebFaction. 49.6% of reviews were positive overall. 52.1% of unique reviews were positive. What is interesting about the difference is that people with negative things to say were more likely to send multiple negative messages, but as a whole more individual people said positive things than negative.

This year was also full of interesting articles that took advantage of our unique position in the web hosting review space. The WordPress Hosting Performance Benchmarks (2016) was the biggest hit as usual. It grew massively in size/scope and tested companies across multiple price tiers up to Enterprise WordPress Hosting.

I also wrote about the Dirty, Slimy Secrets of the Web Hosting Review Underworld. I also tracked some major changes with The Rise and Fall of A Small Orange and The Sinking of Site 5 which tracked Endurance International Group acquisitions and how their ratings fell post-acquisition. A Small Orange's fall from grace even caused the first ranking algorithm update on Review Signal's history.

Best Shared Hosting 2016 – SiteGround [Reviews] (74.2%)

Best Specialty Hosting 2016 – FlyWheel [Reviews] (83.7%)

Best Managed VPS Hosting 2016 – KnownHost [Reviews] (80.9%)

Best Unmanaged VPS Hosting 2016 – Digital Ocean [Reviews] (71.3%)

Best Support 2016 – SiteGround [Reviews]  (80.81%). KnownHost [Reviews], LiquidWeb [Reviews], WiredTree [Reviews] all tied for second at 80% (WiredTree was acquired by LiquidWeb in 2016).

A big congratulations goes out to all of this years winners.

$25-50/Month WordPress Hosting Performance Benchmarks (2016)

LoadStormLogo

Sponsored by LoadStorm. The easy and cost effective load testing tool for web and mobile applications.

The full company list, product list, methodology, and notes can be found here

This post focuses only on the results of the testing in the $25-50/month price bracket for WordPress Hosting.

$25-50/Month WordPress Hosting Products

review_signal_table_50

$25-50/Month WordPress Hosting Performance Benchmarks Results

1. Load Storm

Test 500-2000 Concurrent Users over 30 Minutes, 10 Minutes at Peak

Company Total Requests Total Errors Peak RPS Average RPS Peak Response Time(ms) Average Response Time(ms) Total Data Transferred (GB) Peak Throughput (MB/s) Average Throughput (MB/s)
A2 193764 68658 148.28 107.65 17563 6541 7.647 11.37 4.248
CloudWays DO 196963 54589 148.48 109.42 15809 5841 8.474 7.384 4.708
CloudWays Vultr 207994 50049 144.13 115.55 16187 5339 9.439 8.398 5.244
Conetix 169625 116960 134.43 94.24 18510 8578 2.635 3.898 1.464
LightningBase 315348 1 238.4 175.19 3567 272 16.34 13.47 9.077
Pantheon 268164 866 205.5 148.98 14422 315 6466 4927 3592
Pressable 394405 26 294.6 219.11 15101 226 16.4 13.32 9.111
Pressjitsu 300931 3913 228.47 167.18 11121 502 16.86 14.29 9.365
SiteGround 300999 0 232.75 167.22 10926 462 15.83 14.35 8.972
WP Land 294459 14976 235.63 163.59 15422 864 15.15 14.04 8.417
WPEngine 348796 26572 270.23 193.78 15091 311 14.95 11.38 8.307
WPOven 288369 0 217.85 160.21 5815 283 16.64 13.63 9.245

 

Discussion of Load Storm Test Results

Many companies handled this test without any sort of struggle: LightningBasePantheon [Reviews], PressableSiteGround [Reviews], and WPOven.com. In fact, SiteGround and WPOven managed to have zero errors, while LightningBase had 1. Truly impressive performances put on by these companies.

Pressjitsu struggled a little bit. There were some errors and increased response times at the start of the test. It managed to stabilize for the last 22 minutes as load increased though.

WPEngine [Reviews] and WP.land struggled a bit more than Pressjitsu, but didn't completely fall apart. Both seemed to be having issues with the wp-login page, possibly security related.

A2 Hosting [Reviews], CloudWays [Reviews] (Digital Ocean & Vultr), and Conetix did not do well during this test. High error rates and slow response times show they were not equipped to handle this type of load.

 

2. Blitz.io

Test 1-1000 Concurrent Users over 60 seconds

Blitz Test Quick Results Table

Company Hits Errors Timeouts Average Hits/Second Average Response Time Fastest Response Slowest Response
A2 51 14265 7339 1 800 411 1047
CloudWays DO 28328 13 16 472 32 25 91
CloudWays Vultr 28763 3 0 479 24 24 25
Conetix 2359 1097 6070 39 1412 763 2410
LightningBase 27460 0 0 458 72 71 72
Pantheon 27755 0 0 463 61 60 67
Pressable 25914 0 2 432 134 134 136
Pressjitsu 23902 481 0 398 205 205 206
SiteGround 26623 1 26 444 86 71 255
WP Land 28352 0 1 473 39 38 40
WPEngine 26281 69 0 438 117 114 127
WPOven 26687 0 0 445 103 101 104

Discussion of Blitz Test 1 Results

This test is just testing whether the company is caching the front page and how well whatever caching system they have setup is performing (generally this hits something like Varnish or Nginx).

Who performed without any major issues?

CloudWays (Digital Ocean & Vultr), LightningBasePantheonPressableSiteGround [Reviews], WPEngine [Reviews], WP.land, and WPOven.com all handled the blitz test without any significant issues.

Who had some minor issues?

Pressjitsu again had what seems to be security related issues. A perfect flat response time but some timeouts at the end of the test.

Who had some major issues?

A2 Hosting and Conetix both failed the Blitz test.

3. Uptime Monitoring

Both uptime monitoring solutions were third party providers that offer free services. UptimeRobot was paid for and monitoring on a 1 minute interval. All the companies were monitored over approximately two months (May-June 2016).

Uptime Robot & StatusCake

Company StatusCake UptimeRobot
A2 97.91 99.35
CloudWays DO 100 100
CloudWays Vultr 99.95 99.87
Conetix 99.92 99.93
LightningBase 100 100
Pantheon 100 100
Pressable 99.91 99.92
Pressjitsu 99.78 99.65
SiteGround 99.99 100
WP Land 99.92 100
WPEngine 100 99.99
WPOven 100 100

A2 had significant downtime issues with StatusCake recording 97.91% and UptimeRobot recording 99.35% uptime. The CloudWays Vultr server had some issues with UptimeRobot recording 99.87%. Pressjitsu also had some uptime problems with StatusCake recording 99.78% and UptimeRobot 99.65%.

Everyone else was above 99.9% on both monitors including CloudWays Digital Ocean, LightningBase, Pantheon, WPOven all recording perfect 100%/100% scores.

4. WebPageTest.org

Every test was run with the settings: Chrome Browser, 9 Runs, native connection (no traffic shaping), first view only.

Company WPT Dulles WPT Denver WPT LA WPT London WPT Frankfurt WPT South Africa
A2 0.879 0.747 1.237 1.61 2.029 5.657
CloudWays DO 0.836 0.58 1.031 1.221 1.668 7.08
CloudWays Vultr 0.713 0.676 1.087 1.109 1.636 7.643
Conetix 2.328 2.078 2.242 3.845 3.497 8.69
LightningBase 0.567 0.563 1.054 1.067 1.511 4.199
Pantheon 0.86 0.583 1.024 1.259 1.649 7.625
Pressable 0.945 0.715 1.162 1.533 2.013 9.377
Pressjitsu 0.94 0.549 0.93 1.33 1.912 6.288
SiteGround 0.838 0.655 1.043 1.063 1.693 6.927
WP Land 0.816 0.622 1.002 1.189 1.693 3.307
WPEngine 0.872 0.523 0.939 1.199 1.796 4.434
WPOven 0.85 0.534 1.093 1.452 1.79 4.844
Company WPT Singapore WPT Shanghai WPT Japan WPT Sydney WPT Brazil
A2 2.956 22.788 2.231 2.609 2.342
CloudWays DO 2.123 22.42 1.898 1.713 1.755
CloudWays Vultr 2.223 22.573 1.832 1.7 1.797
Conetix 2.027 23.425 2.63 1.308 3.56
LightningBase 2.041 23.977 1.717 1.848 1.667
Pantheon 2.194 22.605 1.769 1.661 1.784
Pressable 2.451 22.258 2.194 3.079 2.049
Pressjitsu 2.046 22.352 1.73 1.416 2.055
SiteGround 2.245 23.087 1.806 2.27 1.855
WP Land 2.157 22.428 1.872 1.658 1.784
WPEngine 2.121 24.584 1.87 2.051 1.863
WPOven 2.089 2.82 1.796 1.712 1.859

What I learned was getting traffic into China is terrible. Nobody really did well on the Shanghai location except WPOven which somehow didn't get the delay that every other company experienced. South Africa is also really slow. Most servers were US based but were delivering content to most corners of the world in about 2 seconds or less which is impressive.

Conetix is an Australian focused company and they delivered to Sydney faster than anyone which is a relief that the geographic advantage is real. Beyond the Australian market the connectivity seemed slower to just about every other location. Australia has notoriously bad connectivity though, so I can see the advantage of having a company specializing in the local market.

I wish I could compare averages against last year except they removed one of the testing locations (Miami) and I did a global test instead because that was something people wanted to see.

The US connectivity is very fast though, with everyone delivering to Dulles(VA) and Denver (CO) in under a second (minus the Australian server) with LA at about one second exactly for everyone.

5. WPPerformanceTester

Company PHP Bench [Seconds] (lower=faster) WP Bench [Queries Per Second](higher=faster)
A2 18.456 592.77
CloudWays DO 15.028 353.98
CloudWays Vultr 13.145 392.62
Conetix 12.833 410.51
LightningBase 10.795 1353.18
Pantheon 12.292 189.54
Pressable 11.062 525.21
Pressjitsu 12.771 648.09
SiteGround 11.414 1109.88
WP Land 13.491 1094.09
WPEngine 13.494 406.17
WPOven 9.412 690.61

In this tier, there was a lot more normalized spread on the PHP Bench with most people being within the 10-14 second range we saw last year. WPOven lead the pack at 9.4. A2 was the slowest at 18.456.

The WP Bench scores varied a lot, again. LightningBase had another blazingly fast score of 1353.18. Siteground and WPLand also broke the 1000 barrier, whereas last year's fastest was 889. At the bottom of the pack was Pantheon with 189.54, which I am sure they would say infrastructure plays a large role in. Anyone with a distributed/non-local SQL database will be slower by a lot. They would probably argue that's one of the trade-offs of scalability and based on their load testing performance, it would be hard to argue against.

Conclusion

A very crowded bracket with lots of competition. This range is still pretty entry level, not the cheapest stuff like the <$25/month plans I compared. But with increased price came better performances. Although two of the top tier companies in this bracket make up two of the three top tier performers in the cheapest bracket. But it is nice to see some loose price to performance correlation in the market. Many of these plans are the entry level for their respective companies.

One of the interesting things to watch was the VPSs in this range (A2, CloudWays, Pressjitsu). They were outperformed by the Shared/Cloud providers who can presumably burst more shared resources for any given site. So for spikey sites that expect to get a Reddit/Slashdot effect, there may be some advantage in being in that sort of environment (if you cant easily scale the VPS, which some providers make quite easy). But since these are dummy sites not really tested heavily over the two months, there is the potential for bad neighbors negatively impacting you too during such a spike, and then you might want your own isolated VPS. I can see arguments for for both sides.

Without further ado, I will tell you who had the best performance, who deserved an honorable mention and then analyze each host individually. I still don't believe in ranking in any particular order, only grouping companies by how well they performed.

Top Tier WordPress Hosting Performance

review_signal_2016_trophy_50

LightningBasePantheonPressableSiteGround [Reviews] and WPOven.com.

Honorable Mentions

Unfortunately, no company deserves honorable mention status which I give to companies that came close but weren't quite perfect or they looked like they were good but something external (generally security measures) interfered with the tests but from all other indications they seemed to be doing well.

The closest in this bracket would have been Pressjitsu, except they had uptime issues which I give no leeway for being under 99.9%.

Individual Host Analysis

A2 Hosting [Reviews]

I try to find bright spots in a company's performance, but A2 really didn't have one in this test. If you buy a VPS there is also no default way to install WordPress beyond the old fashioned DIY. You have to pay extra for Softaculous installer from the admin panel.

CloudWays [Reviews] Digital Ocean / Vultr

The most interesting part of CloudWays is being able to see the same stack tested on multiple providers. It's a small sample, but it looks like Vultr marginally outperforms Digital Ocean in performance. Although, Digital Ocean was more stable (again, small sample size to compare head to head). It was nice to see CloudWays do well with the Blitz tests and keep very good uptime, especially the Digital Ocean machine which was perfect.

Conetix

Conetix had good uptime and connection to Australia, their target market. They strongly using W3TC but it didn't come fully installed and I don't test anything beyond the default configuration because it gets into too much minutia and conflict with hosts about what could be done to improve scores. I also believe most people just stick with the default based on all the user testing I've seen across various fields. So the unfortunate results were the load test performances didn't look very good for them.

(9/19/2019 Update) Conetix have issued their own statement regarding Review Signal's test and why they believe this methodology doesn't accurately represent their performance and why a unique Australian perspective is required when evaluating them. I recommend reading the full details.

LightningBase

LightningBase put on basically a perfect performance. 100% uptime on both monitors. 0 errors on blitz, 1 error on loadstorm. Unequivocally, a top tier performance.

Pantheon [Reviews]

Pantheon showed up again, in a good way. They earned themselves a top tier performance accolade. They had a few errors at the start of the LoadStorm test, but beyond that aced everything.

Pressable

Pressable is back for the first time since my first testing in 2013, with new ownership (WordPress.com). They had had some good tech back then but it wasn't perfect and had some minor issues. I can happily say that has changed as they delivered a top tier performance this year with no issues in any test.

Pressjitsu

Pressjitsu felt like 2013 Pressable, the foundations of a really good company but just didn't get it all put together. The biggest problem was the sub 99.9% uptime. They had what appeared to be security measures mar the blitz test and had some errors at the start of the LoadStorm test but managed to stabilize for the duration and put on a good showing.

SiteGround [Reviews]

SiteGround got even better this year. They jumped up from honorable mention to top tier status. Their Blitz and LoadStorm tests both improved while everything else remained at a high level. An all around fantastic performance which deserved top tier status.

WPEngine [Reviews]

WPEngine fell slightly this year, it could have been a security issue with wp-login during the LoadStorm test, but there were too many errors to give it honorable mention status for this plan which it earned last year. Everything else looked good though.

WP.land

WP Land like WPEngine had too many problems during the LoadStorm test that it didn't earn honorable mention status. Everything else looked very good for them and it's great to see a strong new entrant.

WPOven.com

The knock on WPOven last year was their LoadStorm test. Everything else was perfect. I'm glad they maintained everything else, but this time they managed a perfect LoadStorm test to boot. A huge improvement and a very well deserved entry in the top tier of WordPress Hosts in the $25-50 range.

LiquidWeb and HostDime no longer providing Shared Hosting

I've updated the site today to reflect that LiquidWeb and HostDime no longer provide shared hosting.

It leaves quite a large gap between SiteGround (72%) and pretty much everyone else still in the shared hosting space (<60%).

I do wonder if this is a bellwether for shared hosting becoming a thing of the past. There are still millions of people on it and in all likelihood will continue to be. But we've seen the rise of all sorts of specialty hosting which is likely eating up a lot of the market. The rise of developer oriented providers like Amazon, Azure, Digital Ocean have opened up the floodgates for building services on top of them. We've seen numerous companies built on top of these companies and targeting niches, especially WordPress like FlyWheel, Pagely. We've even seen configurable providers like CloudWays which lets you select the cloud provider of your choice and install and manage your websites on them.

These new hosting providers are charging more and giving different experiences to users. Developers have flocked to them and are building the next generation of web hosting services. High quality companies seem to be moving up market, charging more and providing more where I'm guessing the margins are substantially better than in the shared hosting space unless you're trying to upsell everything.

It will be interesting to to follow, will we continue to see more consolidation ala EIG and GoDaddy? Is there room for another great shared hosting provider that grows very large? Or will shared hosting slowly fade away as superior technologies (VPS) and specialized companies eat away at it providing the specific services people really want. We've also seen non-webhosts like SquareSpace, Wix and Weebly gain large market shares. On the BuiltWith estimates ranging from 880,000-1.6m websites for each of them.

The one trend I am not a fan of is that there are fewer and fewer really good choices in the shared hosting space that are of significant scale.

Free & Discount Web Hosting for Students

There are a handful of very good offers for students. The very best package for student developers is easily the GitHub Student Pack. It includes offers from Amazon, Digital Ocean and Microsoft Azure along with a number of other free tools and services.

There are also a handful of companies that offer discounts and credits for students which may be better suited for non developers. Some of them (e.g. BlueHost) offer cheaper pricing publicly than their student offering regularly during sales and promotions. The student deals may not be as good as they seem.

Company Offer Requirement
GitHub Bonus Amazon AWS Credits ($15), $50 DigitalOcean Credit, Microsoft Azure Credit If you're a student aged 13+ and enrolled in a degree or diploma granting course of study, the GitHub Student Developer Pack is for you. All you need is a school-issued email address, valid student identification card, or other official proof of enrollment
SiteGround $1.99/month .edu address
BlueHost $4.95 .edu address
InMotionHosting 50% off .edu address
Microsoft Azure $200 Credit None
Kickassd 6 Months Hosting School Email + ID

Bonus Offer

NameCheap for Education - Free .ME Domain for US, UK, CAN, AUS universities.

 

Free & Discount Web Hosting for Educators, Teachers and Institutions

 

If you know of any deals that are missing, please comment or contact us to add it to this list.

Header image credit:  Icon made by http://www.flaticon.com/authors/freepik from www.flaticon.com 

Review Signal’s Best Web Hosting Companies in 2015

Another year, another mountain of data added to the largest web hosting review site. This year we added over 49,000 new reviews (a slight increase from the 45,000 last year). We added two new companies in Arvixe and Site5, both of which are now owned by EIG. We published our first WordPress Plugin WPPerformanceTester. WPPerformanceTester was built for our WordPress Hosting Performance Benchmarks which we performed yet again with our largest batch of companies ever. We even got some outside validation from LiquidWeb which published its internal NPS benchmarks which matched very closely to their Review Signal Rating.

But the year ended on a somewhat sour note with The Rise and Fall of A Small Orange. It tells the story of ASO and how they've played such a huge role on this site. Including winning at least one of these awards every year since inception. But not anymore. So without further ado...

Best Shared Web Host: LiquidWeb [Reviews]

2015-best-shared-hosting-liquidweb

 

Best Web Hosting Support: SiteGround [Reviews]

2015-best-hosting-support-siteground

 

Best Specialty Web Hosting: FlyWheel [Reviews]

2014-best-specialty-flywheel

Best Unmanaged VPS: Digital Ocean [Reviews]

2014-best-unmanaged-vps-digitalocean

Best Managed VPS: LiquidWeb [Reviews]

2015-best-managed-vps-liquidweb

 

For the second year in a row FlyWheel [Reviews] has set the bar in terms of how high a company's rating can be. They won the best specialty web hosting award with their managed WordPress hosting.

For the first time ever someone besides A Small Orange [Reviews] has won the best shared web hosting. A huge congratulations to LiquidWeb [Reviews]! They also managed to pickup the Best Managed VPS hosting award.

Digital Ocean [Reviews] continues its massive growth and popularity, they have won the Best Unmanaged VPS provider for the third year in a row.

Finally, SiteGround [Reviews] returned to our awards and won Best Web Hosting Support, an honor they last received in 2013.

The Best Web Hosting Companies in 2014

It's always interesting to look back at a year and analyze what happened. 2014 was the second full year of operation for Review Signal. Four new companies were published on Review Signal: Azure, FlyWheel, Pagely, WebSynthesis. We added roughly 45,000 new reviews (oddly enough about half as many as last year). We ran two massive performance testing reviews of managed WordPress hosting companies (1, 2).

So I finally got around to slicing and dicing the data exclusively looking at data collected in 2014 and here are the awards:

 

Best Shared Web Host: A Small Orange [Reviews]

2014-best-shared-asmallorange

Best Web Hosting Support: FlyWheel [Reviews]

2014-best-support-flywheel

Best Specialty Web Hosting: FlyWheel [Reviews]

2014-best-specialty-flywheel

Best Unmanaged VPS: Digital Ocean [Reviews]

2014-best-unmanaged-vps-digitalocean

Best Managed VPS: KnownHost [Reviews]

2014-best-managed-vps-knownhost

New comer FlyWheel [Reviews] has set the bar in terms of how high a company can fly (I'm sorry!). When I introduced FlyWheel they had the absolute highest numbers I've ever seen and continue to be in a tier of their own. They do WordPress hosting and that is it, so maybe there is some advantage to specialization. They took the best specialty hosting and support awards this year.

For the third consecutive year in a row, A Small Orange [Reviews] has the best shared web hosting.

Digital Ocean [Reviews] has become the fourth largest web hosting company in under two years according to netcraft. It's easy to understand why when they take home the best unmanaged VPS provider for a second year in a row.

Finally, a new-comer into our awards list, Known Host [Reviews] managed to take the Best Managed VPS award this year beating out last year's winner, A Small Orange.

 

Introducing Pagely and FlyWheel

I am happy to announce two new hosts on Review Signal today.

One of them was a long time in coming, Pagely. The original managed WordPress hosting company. In my original managed WordPress hosting performance benchmarks, Pagely came out at the top - having no trouble with any of the tests I threw at their services.

Pagely_october_2014

 

It's a bit disappointing to see that their reviews don't quite match their performance. From what I can tell, it looks like they've struggled with some major outages in the past. However, there is an upward trend in opinions about them. Their performance is top notch, it would be great to see the rest of the service catch up.

Our second addition to Review Signal is FlyWheel which has an astounding 95% Overall Rating. FlyWheel is another managed WordPress hosting service built on top of Digital Ocean. I don't think I've ever seen a company have such positive reviews. It's a struggle to find anyone saying something negative about them. It's wonderful see such positive reviews for a new company.

Flywheel_october_2014

I hope they can keep it up, but my past experience says all the companies which start out so remarkably strong generally tend to come down to more 'normal' levels in the 70%ish range. Their competitors WPEngine (82% -> 73%) and WebSynthesis (83% -> 76%) both did. Also the company they were built on top of, Digital Ocean, went from 81% to 76%. Great service seems like the hardest problem to scale for a web hosting company. I hope FlyWheel can break the rules and continue it's streak of excellence.

40 Million hits a day on WordPress using a $10 VPS

I recently tested many of the biggest names in managed WordPress hosting in my article Managed WordPress Hosting Performance Benchmarks. (Update: 2016 WordPress Hosting Performance Benchmarks) I am preparing to do a second round of testing with double the number of companies on board. Some of us like to setup servers ourselves (or are cheap).

Given a reasonable VPS, what sort of performance can we get out of it?

10 million hits as measured by Blitz.io was the benchmark to beat based on a previous iteration of this question.

I decided to test this from the ground up, let's start with the most basic configuration and gradually try to improve it.

All tests were performed on a $10/Month 1GB Ram Digital Ocean VPS running Ubuntu 14.04x64. All code and documentation are also available on GitHub.

LAMP Stack

Based on my previous experience benchmarking WordPress, I didn't have high hopes for this test. Last time I crashed MySql almost instantly. This time I ran Blitz a lot slower, from 1-50 users. The performance wasn't impressive, it started slowing down almost immediately and continued to get worse. No surprises.

default-lamp

The LAMP stack setup script is available on GitHub. Download full Blitz results from LAMP Stack (PDF).

LAMP + PHP5-FPM

The next thing I tried was PHP-FPM(FastCGI Process Manager). It got slightly better performance with just under 200ms faster response times at 50 users. But the graph looks pretty similar, we're seeing quickly increasing response times as the number of users goes up. Not a great improvement.

lamp-php-fpm

The LAMP+ PHP5-FPM setup script is available on GitHub. Download full Blitz results from LAMP+PHP5-FPM (PDF).

Nginx + PHP-FPM (aka LEMP Stack)

Maybe the problem is Apache? I tried Nginx next. What happened? I got a worse performance than the default LAMP stack (wtf?). Everyone said Nginx was faster. Turns out, it's not magically faster than Apache (and appears worse out of the box).

lemp-php-fpm

The LEMP + PHP-FPM setup script is available on GitHub. Download full Blitz results from LEMP+PHP-FPM (PDF).

Microcaching

I've written about creating a reverse proxy and cache in nginx before. But I've already setup Nginx as my web server, I don't need to reverse proxy this time. Nginx has fastcgi_cache which allows us to cache results from fastcgi processes (PHP). So I applied the same technique here and the results were staggering. The response time dropped to 20ms (+/- 2ms) and it scaled from 1 to 1000 concurrent users.

"This rush generated 28,924 successful hits in 60 seconds and we transferred 218.86 MB of data in and out of your app. The average hit rate of 482/second translates to about 41,650,560 hits/day."

All that with only 2 errors (connection timeouts).

lemp-microcache

The LEMP + PHP-FPM + microcaching setup script is available on GitHub. Download full Blitz results from LEMP+PHP-FPM + microcaching (PDF).

Mircocaching Config Walkthrough

We do the standard

apt-get update
apt-get -y install nginx
sudo apt-get -y install mysql-server mysql-client
apt-get install -y php5-mysql php5-fpm php5-gd php5-cli

This gets us Nginx, MySql and PHP-FPM.

Next we need to tweak some PHP-FPM settings. I am using some one liners to edit /etc/php5/fpm/php.ini and /etc/php5/fpm/pool.d/www.conf to uncomment and change some settings [turning cgi.fix_pathinfo=0 and uncommenting the listen.(owner|group|mode) settings].

sed -i "s/^;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/" /etc/php5/fpm/php.ini
sed -i "s/^;listen.owner = www-data/listen.owner = www-data/" /etc/php5/fpm/pool.d/www.conf
sed -i "s/^;listen.group = www-data/listen.group = www-data/" /etc/php5/fpm/pool.d/www.conf
sed -i "s/^;listen.mode = 0660/listen.mode = 0660/" /etc/php5/fpm/pool.d/www.conf

Now make sure we create a folder for our cache

mkdir /usr/share/nginx/cache

Which will we need in our Nginx configs. In our /etc/nginx/sites-available/default config we add this into our server {} settings. We also make sure to add index.php to our index command and set our server_name to a domain or IP.

location ~ \.php$ {
		try_files $uri =404;
		fastcgi_split_path_info ^(.+\.php)(/.+)$;
		fastcgi_cache  microcache;
		fastcgi_cache_key $scheme$host$request_uri$request_method;
		fastcgi_cache_valid 200 301 302 30s;
		fastcgi_cache_use_stale updating error timeout invalid_header http_500;
		fastcgi_pass_header Set-Cookie;
		fastcgi_pass_header Cookie;
		fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
		fastcgi_pass unix:/var/run/php5-fpm.sock;
		fastcgi_index index.php;
		include fastcgi_params;
}

Then we move on to our /etc/nginx/nginx.conf and make a few changes. Like increasing our worker_connections. We also add this line in our http{} before including our other configs:

fastcgi_cache_path /usr/share/nginx/cache/fcgi levels=1:2 keys_zone=microcache:10m max_size=1024m inactive=1h;

This creates our fastcgi_cache.

All of these are done in somewhat ugly one-liners in the script (if someone has a cleaner way of doing this, please share!), I've cleaned them up and provided the full files for comparison.

Go Big or Go Home

Since Nginx didn't seem to blink when I hit it with 1000 users, I wondered how high it would really go. So I tried from 1-3000 users and guess what?

"This rush generated 95,116 successful hits in 60 seconds and we transferred 808.68 MB of data in and out of your app. The average hit rate of 1,585/second translates to about 136,967,040 hits/day."

The problem was I started getting errors: "4.74% of the users during this rush experienced timeouts or errors!" But it amazingly peaked at an astonishing 2,642 users per second. I watched my processes while the test was running and saw all 4 nginx workers fully maxing out the CPU (25% each) while the test was running. I think I hit the limit a 1GB, 1 Core VPS can handle. This setup was a champ though, I'm not sure what caused the big spike (perhaps a cache refresh), but if you wanted to roll your own WordPress VPS and serve a lot of static content, this template should be a pretty good starting point.
lemp-microcache-3000

Download full results of 3000 users blitz test (PDF)

Conclusion

There are definitely a lot of improvements that can be made on this config. It doesn't optimize anything that doesn't hit the cache (which will be any dynamic content, most often logged in users). It doesn't talk about security at all. It doesn't do a lot of things. If you aren't comfortable editing php, nginx and other linux configs/settings and are running an important website, you probably should go with a managed wordpress company. If you really need performance and can't manage it yourself, you need to look at our Managed WordPress Hosting Performance Benchmarks. If you just want a good web hosting company, take a look at our web hosting reviews and comparison table.

All code and documentation is available on GitHub

Thanks and Credits:

The title was inspired by Ewan Leith's post 10 Million hits a day on WordPress using a $15 server. Ewan built a server that handled 250 users/second without issue using Varnish, Nginx, PHP-APC, and W3 Total Cache.

A special thanks goes to A Small Orange who have let me test up multiple iterations of their LEMP stack and especially Ryan MacDonald at ASO who spent a lot of time talking WordPress performance with me.