WP Engine is launching its high availability enterprise hosting platform today. The new product is called Mercury and it’s built to provide HHVM (with PHP-FPM failover) to customers who require better PHP performance.
WP Engine is one of the first WordPress managed hosts to offer HHVM (HipHop Virtual Machine), a PHP execution engine originally created by Facebook to help make its infrastructure more efficient. Since HHVM is still new and isn’t 100% stable in production environments, WP Engine has opted to provide automatic fallback to its default PHP stack. This failover protection is invisible to visitors and is only in use 0.1% of the time while HHVM restarts.
WP Engine partnered with 10up, a WordPress development agency, to design and create a system to bring HHVM to customers. Benchmarks reported by 10up indicate staggering performance improvements of up to 600%.
On a generic WordPress + bbPress installation with no page caching, HHVM delivers on average a 5.6 faster response time over multiple tests:
When testing bbPress with 250 concurrent logged-in users, HHVM consistently delivers a 3.6x faster response time. A regular WordPress site with a custom theme and plugins resulted in approximately 3.9 times faster response time with HHVM as compared to PHP-FPM. At the moment, HHVM doesn’t play well with BuddyPress but WP Engine plans to discuss this with John James Jacoby in the near future to see what can be done.
10up founder Jake Goldman believes that HHVM will perform even better over time and become more affordable:
Mirroring the history of air travel, Mercury will invariably become smoother, more affordable, and more accessible with time. We’re already excited by the early results: bbPress response times up to 5.6x faster, 3.6x faster at just 740ms with 250 concurrent visitors.
10up volunteered its site as the first test case and is currently running on the new Mercury platform.
Other developers have also been experimenting with WordPress on HHVM since earlier this year, achieving similar results in terms of performance improvement:
Just got a dynamic WordPress page to load (no HTML output caching) and transfer to the browser in 58ms using HHVM. Ping to the server: 27ms.
— Mark Jaquith (@markjaquith) April 21, 2014
— Mark Jaquith (@markjaquith) April 21, 2014
The Future of HHVM and WordPress Hosting
How long will it be before HHVM is the most common PHP engine for all WordPress managed hosts? Given how new and unstable it currently is, most hosts are not rushing to provide HHVM. However, the advances made by the collaboration between 10up and WP Engine should help to move other hosts along.
“I think it is important to note that the Facebook HHVM open source team is really responsive to issues, thoughts, and feedback,” WP Engine representative Tomas Puig told the Tavern. “So it bodes super well for the future of us moving more WordPress systems to the technology.”
Puig is optimistic that WP Engine and 10up’s work with HHVM will help to provide valuable feedback for WordPress core. “I deeply believe in Matt’s recent statements on WordPress as an application framework and the API work the core team is doing,” Puig said. “I think that HHVM enables us to build more rich experiences with WordPress in a more performant manner and that’s exciting. So really we want to elevate the community as a whole to getting our code ready for it.”
Mercury customers will be given a Vagrant configuration to use for local development, and Puig said that the company is wiling to provide the configuration to anyone who requests it.
One challenge for developers using HHVM is knowing what plugins are compatible with it. “Something I’d love to see is an option to mark plugins and themes in the official repository as HHVM tested,” Puig said. WP Engine is starting to conduct a large round of basic testing to find out which popular plugins are compatible with HHVM. “We’ll be releasing that list to the community as a whole so people know where to look and are also working with plugin developers and theme shops to get their code ready,” he said.
On the HHVM side, WP Engine has been instrumental in paving the way for other open source projects to take advantage of it. Paul Tarjan, Facebook’s head of Open Source for HHVM, highlighted the importance of this partnership in the Mercury announcement:
The WP Engine Labs team has done an impressive job in democratizing HHVM for the open-source community. We are excited to work alongside the Labs team to fine-tune the stack to reach HHVM’s full potential and drastically speed up PHP execution. PHP is the bedrock of Facebook, as well as much of the Internet, and this announcement should come as a major fillip for the entire developer community.
The launch of Mercury means that many more WordPress users will have the opportunity to have their sites running on HHVM. As WordPress-specific issues are ironed out through WP Engine’s collaboration with the HHVM developers, it should become more stable over time.