top | item 4692456

My experience with WPEngine

373 points| lasonrisa | 13 years ago |chester.id.au

240 comments

order
[+] alexandros|13 years ago|reply
For all who are thinking about moving to WPEngine:

Your staging server does not use WPE's caching technology, which your production server will use. WPE will not give you details on how their secret-sauce caching works. This means that things that work on staging will break on production. WPE also refuse to turn off their caching on production, but also refuse to turn ON their caching on your staging server. This means there is no real way to test. Things that work with their staging server, and even work with the standard WP caching plugins, will break in WPE production.

Their solution? Buy another production site to test on.

That website is now moving from WPEngine after having its launch botched by the aforementioned issues, and after not being able to make a basic paywall work with their caching. Once they realised the use case, WPE simply suggested moving elsewhere without making any further effort to accommodate.

I had a similar reaction to the post yesterday by asmartbear as Jaques, but he made the extra effort to actually write the blogpost, so bravo to him. WPE enjoys this sterling reputation that misleads a lot of people into using them, but their comfort zone it seems is limited to vanilla WP installs with little deviation.

[+] dotBen|13 years ago|reply
So we don't apply the caching stuff to the staging server because the purpose of the staging server is to stage content and test new plugins and themes.

We invented this feature in response to bloggers and site owners who wanted to be able to test a new plugin before adding it to the live/production version of their site. We're also the only managed WP platform to offer such a feature as standard with all accounts.

I can see that in a true dev/staging/production test suite environment, it does't stand up as a true mirror of product for the reasons you stated - but then neither does the staging/local version of Google App Engine or Heroku offer the same exact environment of their production platform.

If you need true like-for-like mirroring of production and staging, then yes, you need to create another WordPress instance - that's the case for most providers. Also its wroth nothing all WP Engine accounts, other than the Personal plan, come with multiple WordPress instances, so rarely that means actually buying anything further.

[+] ohashi|13 years ago|reply
I was helping a friend debug something on WPEngine. We learned that the caching doesn't allow you to set cookies it would seem (from PHP). Had to do it all using JS instead. I thought I was going crazy trying to debug the code when it was definitely an issue with the way they cache.

Not saying it was right or wrong, it just wasn't a fun experience thinking I was going crazy. And hopefully if anyone else is trying SETCOOKIE() and it's not working they also realize they will have to use JS.

[+] pwenzel|13 years ago|reply
I've had the opposite experience of WP Engine, and appreciate leaving caching and performance issues to somebody else, given that my company has a somewhat limited staff for supporting servers and CMS upgrades. I am building a semi-complex Multisite installation with multiple domains. So far, it's been pretty decent.

Your frustration with their caching "secret sauce" is understandable. However, you can get a rough idea of their caching back-end by poking around in the WP Engine config files and plugins bundled with your installation. They also provide a nice little overview here: http://wpengine.com/our-infrastructure/.

If you are staging out anything more complex than a single blog, you will definitely want to have two production instances to test on. For some, this is a raw deal. I personally don't mind.

I am also not a huge fan of their CDN feature, which works by rewriting URLs in your page source to point files and assets to NetDNA servers. However, I am hopeful that they will improve upon it.

That said, I have enjoyed a platform that keeps my Wordpress installations secure with automatic upgrades.

Comparing WPEngine to other hosting providers like Linode or Dreamhost is really unfair. They offer completely different services, and specialize in Wordpress-optimized hosting only.

I also have to say that it was really nice to not be part of Amazon/Heroku's outage this week. WP Engine has a control panel hosted on Heroku, but all their sites live in the Linode network, evading downtime.

[+] jacques_chester|13 years ago|reply
> Their solution? Buy another production site to test on.

... wow.

[+] millennia|13 years ago|reply
To be fair, any WP hosting company is going to run into issues with non-standard installs, and they're not going to be able to accommodate any setup. If you have a customised WP install, it might not work on this sort of provider, they're optimising for speed, not dealing with, and they probably don't want the headache of trying to support any plugins or modifications that you might bring to WP.

It would make sense for them to offer a dev plan with every production plan though, and let you upload your site, and serve it to a limited no of people as a testing ground. Given their 'Power Tools for Power Users' stuff on their website, they really should consider at least offering staging servers for testing.

I guess at present they're just not a good setup for developers trying to modify WP, and are instead trying to capture the market for hardened WP hosting for mostly vanilla installs.

[+] WillyF|13 years ago|reply
I had an issue where an API call was failing for Googlebot and other crawlers. I was worried about this being seen as "cloaking," so I was trying to figure out what was causing. Couldn't be my code. The API provider said it wasn't them. I finally realized that it was WPEngine when I visited my staging server as Googlebot. The content that was supposed to show up showed up!

Part of their caching setup was causing the API request to fail for a select list of bots. The issue was escalated to a Sys Admin who figured out what the problem was. He tweaked my server and fixed the issue for me within a day. I think that is pretty good.

My point... if something is broken and you think it might be WPEngine's caching. Try it on your staging server.

[+] jacques_chester|13 years ago|reply
Of all the things I've ever written on the blog (and ok, most of the earlier stuff is as tedious as watching the guy who watches the grass grow), it's sorta sad that only the one with the sensationalist title has ever made the front page at HN.

So, while I'm here, go look at my very nice bloggers. I regularly submit their stuff.

http://ozblogistan.com.au/

Take, for example, this recent extremely intelligent discussion of privacy in the current internet:

http://skepticlawyer.com.au/2012/10/19/manners-cost-nothing/

Or this discussion of the roots of order/chaos good/evil dualities in agricultural society: http://skepticlawyer.com.au/2012/10/16/war-and-peace/

This confronting moral conundrum from the Massacre of Srebrenica: http://clubtroppo.com.au/2012/10/24/srebrenica-should-the-so...

This discussion of the deadening effect of media laws upon Australian free speech: http://catallaxyfiles.com/2012/10/24/the-deadening-of-free-s...

and so on and so forth.

I am enormously proud of all my bloggers.

[+] stevenkovar|13 years ago|reply
Seems a bit distasteful to publicly attack a popular service, then try to siphon the traffic their name generates to your "bloggers."
[+] aneth4|13 years ago|reply
"my bloggers"?

How are these blogs related to you?

[+] ryanwaggoner|13 years ago|reply
I host several sites on WPEngine and we've had some relatively minor issues. But we're getting ready to switch to multisite and now I'm nervous. We're generally happy, but we haven't been blown away.

Jason, if you're not scrambling to deal with this mess, you will be soon. And the main message I have is that you need to back off the marketing side a little and let the technical and customer service side catch up.

Godaddy makes an incredible amount of money, but they're still a terrible company from a technical and customer service perspective. But their marketing is so effective that they can get away with that [1].

I wonder if Jason Cohen's position in the tech community and general marketing prowess has allowed WPEngine to get ahead of themselves? I know when I read Patrick's blog post about WPEngine, I was really excited and it was a service that I wanted to like. And I do like them, but I'm not excited about them at all anymore.

1. Interestingly, Google is the exact opposite, and their customer service makes me want to take a spoon to my own eyes.

[+] druiid|13 years ago|reply
This story and comments have been flogged to death a bit already, but I do have a couple questions/concerns here.

While perhaps the issue ended up mostly being due to a Wordpress core issue, I question why this was an issue for a service that someone is expected to pay $250/month for?

The OP was able to, without a team of engineers/admins get the same content running on a VPS with no issue. I then question exactly what one gets when they pay $250/month for this service? To expect to get any sort of scaling capability out of a $8-$30/month shared hosting account is asinine and anyone running more than a small amount of traffic under such circumstances deserves what they get.

Why then if the end service was not capable of sustaining traffic/memory to the same degree that some shared providers are willing to go, would one pay $250/month? I think this is a question the creators of WP Engine genuinely need to answer...

[+] STRML|13 years ago|reply
This is absolutely on the mark. It is well understood that scaling Wordpress correctly requires a couple of core hacks (see this excellent comment: http://news.ycombinator.com/item?id=4693924). Why WPEngine does not incorporate these core hacks is beyond me.
[+] scribu|13 years ago|reply
That's a very good question.
[+] ck2|13 years ago|reply
WPEngine uses NFS/NAS which is a show-stopper. Dreamhost has the same issue, and GoDaddy (still?)

You never, ever, use NFS on something with hundreds of files to load for every page (ie. WordPress).

Every file takes 2-2.5ms to stat/load on NFS (from my tests on WPengine) which seems small but adds up fast.

It means you instantly have 700ms or more of overhead on the SERVER side to render a page (not transmit to the browser, just to render).

You can somewhat get around this by using an opcode cache and turning off file stat but there are still some files that have to be checked like static data read from the disk and turning stat off has other issues when editing code like having to flush the cache.

[+] dotBen|13 years ago|reply
There's a fair amount of criticism flying around about us on this thread, but that's one I can't make any apologies over.

There's all sorts of interesting things we're doing with NFS, along with caching layers, that ensure this is never a bottleneck -- and even provides benefits in other ways.

[+] gizzlon|13 years ago|reply
I recently removed some code that stat'd 4000 files over NFS. It took ~5 seconds, so it wasn't as bad as you say. Also, I'm pretty sure NFS can do better if you tune it.
[+] druiid|13 years ago|reply
I'm not really certain that this is a valid concern to add into the mix. Yes there is the stat issue with NFS, but if you have a fast filer then 2+ms is an eternity (for example: http://www.storageperformance.org/benchmark_results_files/SP...)

If WPengine is getting 2+ms response times then something is very wrong (are they using linux backed vanilla linux style NFS storage? ....bad, bad, bad). If not, then they need to investigate their load averages on their filers :P.

[+] jamesmiller5|13 years ago|reply
Since NFS and NAS both have caches I don't believe they would be a bottleneck.
[+] cooperadymas|13 years ago|reply
May as well throw in my own experience with WPEngine...

We run a relatively small member site (<1000 active members) that operates on WordPress. We tried migrating the site to WPEngine, but could never get the membership plugin working as expected. Over a course of about 2 months we tried everything possible to get it working, and talked with their support on a near daily basis.

Overall, their support team tried to be helpful. They weren't always responsive (sometimes we wouldn't get a response for a day, or we would be waiting on hold for a long time), and we ran into the problem of different support people telling us different things about how their system was setup. Eventually one of the co-founders got involved in the support, but we still were not able to resolve the issue.

I managed to find 2 other people using the plugin that had run into the same problem with us on WPEngine. WPEngine claimed that other customers of theirs used the same membership plugin without any issues. I don't feel they lied, but we clearly weren't alone in this problem.

In the end, we moved to another WordPress host and were able to get up and running in no time. Unfortunately, WPEngine refused to refund us fully for the 2 months we wasted trying to get our site setup because we went past the 60 day money-back period. (We had paid for the 3rd month already, and they gave us a partial refund of that month only.) It was a relatively small amount of money, but after all the trouble we had with them it would have left a much better impression if they would have refunded the entire cost we paid.

I'm sure that WPEngine has thousands of happy customers, and our experience was largely unique, but there are many things I felt they could have done a better job of.

[+] STRML|13 years ago|reply
Which membership plugin was this? I am on WPEngine running WP-Members, crossing my fingers.
[+] csomar|13 years ago|reply
As a seasoned WordPress developer and entrepreneur, the OP is making wrong assumptions. If I was the WPEngine owner, I won't be bothered by seeing him go.

WPEngine provides WordPress hosting services. They are professional and they do it for $250/month (which plainly means that their target audience is professional bloggers). For $250/month, they don't provide consultancy service as why your particular setup couldn't install in their server. This is your responsibility.

Setting up a WordPress blog can be easy (5 minutes) and complicated (Professionals charge up to $350/hour). What you are asking for is someone to move your blog. Fine. You are responsible for that. WPEngine offers you a "6 hours coupon" from another service. That is, they are not responsible for that.

Page.ly are probably doing this to get more clients. This is the wrong thing to do, because their support service can't scale this way. I have been doing this to bootstrap my services and it had more negative consequences than positive ones.

tl;dr: The OP is expecting WP consultancy services for signing up to WPEngine.

[+] jacques_chester|13 years ago|reply
> Page.ly are probably doing this to get more clients.

... huh?

Edit: are you suggesting that the poor service I got from WPEngine is in fact a cunning conspiracy to boost Page.ly sales?

Because ... well at least temporarily, yeah, I guess it worked perfectly.

"Cui bono?"

-dramatic violin music-

[+] papsosouid|13 years ago|reply
>As a seasoned WordPress developer

You realize that puts your credibility in the negatives right? Wordpress is infamous for being one of the worst pieces of software ever created. The fact that your software is terrible does not mean a company whose sole purpose is to be experts at making that terrible software run is doing good by failing to make it run.

[+] Tombar|13 years ago|reply
We have a similar experience trying to move a large local newspaper in WP (500k+ posts) from our architecture to WPEngine, after over 1200 U$D spend, sadly we rollback to old setup.
[+] brokentone|13 years ago|reply
I run one of the largest WP installs outside of WP.com, and we've seriously struggled with performance issues. Sounds like a lot of this complaint is a WP design/performance issue. If you're looking to be create a WP serving platform, it will require a huge amount of custom configuration, a huge amount of hardware (even with the best caching), regular DB maintenance and reconfiguration, and core hacks. Automattic redirects the core dev when they need something, generally only enough to add their hooks, then they write a plugin, release it to the community, but always keep it a few versions back (HyperDB support for 3.4 anyone?)

The WP core team doesn't write code with performance, scalability, orthogonal design, good standards or any such thing in mind and you regularly hit gotchas. However... if you sign up to be a WP platform, you're kinda asking for it.

Obligatory performance tips: 1. Cache the heck out of it. CDN, varnish, optcode (APC), query caching on MySQL. 2. As has been noted, file stat'ing is massive. You have to have an exclusive install as close to each serving node as possible, even with optcode caching. 3. Core hack - Modify admin comment searching. Does 5 column wildcard lookups across the entire table. Not scalable. (http://core.trac.wordpress.org/ticket/20487) 4. Core hack - Remove content reallocation on user delete. With large user tables, you lose the ability to delete users (core fix pending: http://core.trac.wordpress.org/ticket/19867) 5. Clean and optimize your DB regularly - Old post revisions are a huge gain 6. Add indexes intelligently - WP doesn't include all the indexes you need 7. Horizontally scale your DB (whether through MySQL clustering, or HyperDB + DBs with roles) 8. Tune everything. I've found that NGINX/Apache and Percona/MySQL make little difference, but setting the right config for each daemon makes huge difference.

[+] Tyrannosaurs|13 years ago|reply
I want a two word tl;dr summary of every article in the title:

How fast is... Apple.com? (tl;dr: not very); Wired's Review of the Microsoft Surface (tl;dr: pretty interesting).

[+] bdcravens|13 years ago|reply
I tend to agree, but sometimes 140 characters come across as too emotionally charged, so imagine two words. Hence, "WPEngine sucks", which seems a bit harsh. Several recent articles could be summarized as "Founders dumb", "VC stupid", "SV sucks".
[+] mryan|13 years ago|reply
I sincerely doubt many reasonably interesting articles can be accurately summed up in two words.
[+] harrylove|13 years ago|reply
Just write a better, non-link-bait headline.

"Apple.com takes 25 minutes to load" "Wired says Microsoft Surface is Quite the Stunner"

[+] qeorge|13 years ago|reply
A hosting company without 24 hour support is not a hosting company.

Go with Rackspace. They're expensive compared to budget hosts, but they seem to have an army of sysadmins available 24/7/365 that never say "that's your problem" / "not in scope".

PS: that redirect bug is probably a mismatch of your site_url setting in either wp_blogs, the wp_options table of your primary blog, or the wp-config.php. If the domain set in any of those 3 places doesn't match you get that endless redirect loop. Could also be htaccess sending you to www or no-www, and your config is set the other way. Its an annoyingly common issue when moving MU sites, and they should have been able to fix it.

[+] killahpriest|13 years ago|reply
I highly doubt it's something that simple, the OP had been self hosting a blog network on Linode. There's no way he made that simple of a mistake.
[+] graupel|13 years ago|reply
For sites that are large enough/can afford it, I cannot say enough good things about WordPress VIP - we have 20+ sites on VIP and could not be happier with it.

Since they 'are' WordPress they can make pretty much anything that does not modify core, work. It's not for everyone, but for the right sites (high traffic/high availability/generating revenue) it's fantastic.

[+] thenomad|13 years ago|reply
Interesting, thanks. I suspect we're still too small, but I'm checking the service out anyway.
[+] typicalrunt|13 years ago|reply
WordPress, like most LAMP apps of its era, makes a series of architectural assumptions that turn out to have horrible impact on non-functional qualities … but that’s another rant for another day.

Until I came to this sentence, I was coming to the conclusion that CMSes fall down fairly quickly once you add in large data, large traffic, or complex installs. For the life of me, I can't see why people continue to use CMSes for large projects anymore, when they could potentially code something up faster in Django/Symfony/Rails and, here's the kicker, know the codebase inside and out.

My client has simple marketing (read: 99% static) websites that are built on Drupal. Sounds good at first, and it almost makes sense... and then you get to the non-functional requirement that it needs to withstand a marketing event that can bring 2k+ concurrent users for over 24 hours. Then you watch Drupal meltdown the server.

[+] krmmalik|13 years ago|reply
I've had a radically different experience with WP Engine and would happily recommend them to others, and have done so.

I went through 3 or 4 different providers, and the only place that i was really happy with setup, infrastructure and support was WPEngine.

As some of the other guys have stated regards the caching and their suitability to vanilla installs, i think that is most likely the case, and yes mine was a pretty vanilla install in the grand scheme of things, but i'd still choose them over anyone else.

[+] jacques_chester|13 years ago|reply
Indeed, another blogger of my acquaintance (Joshua Gans, a really excellent economics blogger) heard about my moving to WPEngine and moved several independent blogs across. He's a fan of theirs.
[+] dotBen|13 years ago|reply
Ben, one of the co-founders of WP Engine here and as someone wrote below[1] - yes, this isn't the most wonderful thing to wake up to in the morning and sort out while still in your PJ's ;)

Ok, so first and foremost I am incredibly sorry, Jacques, for the experience you had. I can say with confidence that your experience with WP Engine is out of the ordinary, but no excuses. I’m writing this as a way of owning up to mistakes that were made on behalf of our company, as well as transparently engage the discussion here. There's a couple of points I'd like to make, if I may...

We're in the process of moving to complete 24/7 support right now (we do have emergency 'site down' 24/7 cover) - as any entrepreneur on HN will tell you, getting your startup to take off is hard and scaling the human aspect is perhaps even harder. With mostly US-based business customers it wasn't as much of an issue to begin with but we're now addressing that.

Obviously if we'd had that 24/7 support in place we could have addressed this more immediately.

However, one of the reasons that your site experienced problems was that there were some aspects of the site development that simply didn't scale. Like any scale-orientated PaaS, we can provide the infrastructure to enable you to scale but your code needs to work in partnership to fully achieve that.

As Sean, my head SysAdmin wrote on a ticket to you, some of your pages were performing a sort on 188590 rows in memory each time. That just doesn't scale. From your post, I'm guessing this is the issue that also occurred when you tried Pagely. While it's awesome that the good folks at Pagely were able to work with you a little to try to address your problem, like most PaaS providers (eg AWS, Heroku) we don't provide consultancy services - there is an amazing WordPress community of consultants and dev shops out there and its just not what we want to get into. Just like Heroku won't fix your Ruby code.

We have many, many clients who are very happy with WP Engine but as a growing business there will always be customers who find that the service isn't right for them, and even occasionally have a bad experience.

So lets try to make this right. I can see that we've already refunded you all the hosting fees you paid for your account, and I'll also make sure we pick up the $500 migration bill that you incurred. If there is anything else we can do please let me know.

I will also take time once I've finished my coffee and out of my PJ's to analyze your case further and see what else we can do internally to ensure this doesn't happen again.

Bests,

Ben, co-founder WP Engine

[1] http://news.ycombinator.com/item?id=4692775

[+] thenomad|13 years ago|reply
Worth interjecting a counterpoint here, I think.

I've been running a site about the same size as the OP's (500k-ish visitors a month) with WPEngine for nearly a year now, and so far I'm very impressed. It's smoother and faster than it was before, we've only had one outage of more than an hour (and they responded by crediting me with a full month's hosting!), and I've found their support to be absolutely top-notch.

I wrote a review of their service after a month - which I don't think I ever submitted to HN, d'oh - and all the points I make in it still stand: http://www.mmomeltingpot.com/2012/03/wpengine-review-after-1... . My key point there, which I stand by, was that moving to WPEngine saved me money over an apparently cheaper self-hosted solution, because I no longer had to spend 2-3 days a month faffing around with server problems. (I believe Patio11 had a similar experience.)

(Note - there's an affiliate link in there, because I find that with money I can buy goods and services, but I added that after writing the review.)

Just recently I've had an extremely helpful dialog with one of their support engineers which ended up troubleshooting a problem I didn't even know my blog had - which subsequently boosted my available ad inventory by about 25%.

Overall, WPEngine aren't perfect - and I'm still checking out other options from time to time - but I've found their support and general solid hosting more than worth the admittedly pretty significant cost.

[+] gozmike|13 years ago|reply
My experience with WPEngine : Jason Cohen saved my ass.

We went live on a WebbyNode VPS, thought we had configured our system well and suddenly we hit the top spot on HN. The server was on fire and Jason personally showed up and worked on migrating our site over.

Your configuration may have posed problems, you may have had what seems like a shitty support experience, but this public bashing doesn't help anyone in the startup community and reads as if it's motivated by emotions rather than a real problem-focussed attitude.

Give these guys a break and work with them one on one to find a solution to your problems. I'm SURE they'll move mountains to make you happy because that's in the team's DNA.

[+] jacques_chester|13 years ago|reply
I worked "one on one" with them for weeks.

Weeks.

They did not move mountains. It was a parade of apathy. As soon as they could flick pass me to WebSiteMovers, they did.

Your positive experience is every bit an emotional one as my negative experience was.

[+] robgough|13 years ago|reply

    Give these guys a break and work with them one on one to find a solution to your problems.
In the article it sounds like instead of them trying to work one-on-one to fix the problems, they just outsourced it to a digital removal firm. If that's the response he got, in what way would you expect the OP to be able to work with them one-on-one?
[+] dugmartin|13 years ago|reply
This is a bit of a meta comment but it must really suck to wake up on a random morning and find a blog post like this about your service as the top story on HN.