DreamPress 2: The Evolution of Managed WordPress Hosting at DreamHost
By Micah Sachs, VP of Systems Engineering at DreamHost
Redesigned from the ground up with a new OS, updated PHP 5.5 with OPcache, optional Hip Hop Virtual Machine (HHVM), and all sitting on blazing fast Solid State Drives, we are incredibly proud to announce the release of DreamPress 2, our fastest WordPress hosting platform yet!
When we set out to create the first DreamPress, we were already a little late to the game. Several companies had successful products centered around removing all the management headaches related to making WordPress snappy and low maintenance on top of traditional hosting. We’d kicked the idea around for a while and decided to do a minimally viable product to see if our hypotheses were correct; That A) We have unique expertise that could help WordPress power users get their site(s) running quickly, performantly, and with minimal fuss, and B) There had yet to be that killer service that had both the price point and the features set to satisfy the widest swath of customers.
Fast forward one year and thousands of customers later, we believe we had not only answered those questions, but learned enough about ourselves as a company, what our customers want, and what the WordPress community deserves to make substantial improvements to the original DreamPress.
When we saw this review we decided it was time. SSDs had already been popular in our VPS product so it seemed like a no-brainer to bring them to our most performance-tuned offering. As we started looking deeper into performance for specific types of traffic we decided to focus on improving how DreamPress 2 could serve more concurrent users, overall throughput, and dynamic content. We started benchmarking our new configurations; Here is just a snippet of what we discovered:
|Transactions||712 hits||2777 hits|
|Availability||100.00 %||100.00 %|
|Elapsed time||59.12 secs||59.33 secs|
|Data transferred||3.70 MB||13.64 MB|
|Average response time||1.23 secs||0.32 secs|
|Transaction rate||12.04 trans/sec||46.81 trans/sec|
|Throughput||0.06 MB/sec||0.23 MB/sec|
*HHVM is Facebook’s uberfast PHP replacement.
Each test was performed several times and the above results are averages. Set at 15 concurrent virtual “visitors” configured to hit the stock WordPress install as many times as possible in 60 seconds, you can see that the PHP5.5 with OPcache runs handled approximately 12 transactions per second and HHVM just crushed it with almost 47 transactions per second. Wow! And if you add the fact that very few managed WordPress hosts are offering it (WP Engine and Pantheon at the time of this post) we just had to have it.
After some more fiddling with Memcached and Varnish caching options, we used Loader.io to dive a little deeper into the performance of dynamic traffic, which isn’t as easily enhanced by caching due to the fluidity of the content. Here’s what we found:
|PHP5.5 w/OPcache Non-dynamic|
|Average Response Time:||26ms||23ms||23ms|
|Min Response Time:||8ms||7ms||7ms|
|Max Response Time:||125ms||927ms||1069ms|
|Total Hits per Minute:||288||1234||2077|
|PHP5.5 w/OPcache Dynamic|
|Average Response Time:||286ms||1217ms||4776ms|
|Min Response Time:||235ms||251ms||274ms|
|Max Response Time:||335ms||5352ms||304000ms|
|Total Hits per Minute:||282||1455||2330|
* Error percentage does not include 404s which were intentionally built into the tests
You can see that for non-dynamic sites the performance stays extremely even with 1000 users continuously hitting the stock WordPress for 60 seconds. For dynamic content – for instance, content which has any database interaction – the results stayed about the same for 100 concurrent users and then the average response times started climbing. We used the results of these and other tests to build out the 2.1MM pageviews-per-month metric for the new offering.
The best part of this major overhaul is that we’re extending all the hardware and software upgrades to all of our existing DreamPress customers. We’ve already started migrating them to DreamPress 2. Due to the premium nature of the SSD drives, we’re instituting a 30GB limit, but our research shows that 99% of our existing users don’t even come close to that. For those that do, we’re working with them directly to find a solution for their storage needs.
Here are all the great features that are available today with DreamPress 2.
- We tuned Memcached, the application caching layer we use for WordPress
- We performed OS upgrades across all running installations from Debian 6.0 “Squeeze” to Ubuntu 12.04 LTS “Precise”
- We upgraded both WordPress itself from 4.1 to 4.2.2 and PHP from 5.3 to 5.5
- The PHP upgrade allowed us to scrap XCache in favor of the more efficient OPcache
- We forklifted in a highly efficient PHP replacement from the labs of Facebook, HHVM
Some of the features that are on the proposed roadmap for future releases, besides further performance improvements, are faster deploy times and multiple DreamPress installs on a plan. This isn’t the last you’ll hear about DreamPress 2 this year… Stay tuned!