There are a couple of projects which have made it easy to achieve performance gains by making slight amendments to core or packaging up the code in a helpful manner. Pressflow makes it possible to use a reverse proxy such as Varnish, amongst other things. Mercury packages Pressflow up as a Amazon EC2 image. The development of both these projects is the sign of a maturing ecosystem where serious deployments can easily be rolled out.
Pressflow is a distribution which attempts to bring many of the improvements discussed above (SQL improvements, Varnish) into a single package. Pressflow is a standard Drupal install which has had its core modified to fix bottlenecks and facilitate the use of advanced caching features. FourKitchens don’t regard Pressflow as a fork since many of the initiatives found in Pressflow are contributed back into the development of the head of Drupal.
So long as you haven’t hacked core yourself then using Pressflow is a simple matter of swapping out core drupal and replacing it with Pressflow.
In a nutshell Pressflow allows the following:
Support for database replication
Support for Squid and Varnish reverse proxy caching
Project Mercury is an innovative project from Chapter Three which wraps up a tricked out PressFlow installation in to a preconfigured Amazon Machine Image (AMI) for use on Amazon EC2 instances.
Hot of the press: Mercury will also be available for deployment on other servers, not just EC2. Further there will be a Mercury On Demand service at Rackspace.
The goal of this project is to make Drupal as fast as possible for as many people as possible. To that end, we are developing a pre-built Amazon Machine Image (AMI) which will allow anyone with an Amazon Web Services account to spin up an EC2 instance and see how all this works in real-time. The ultimate goal is a production-ready release that can be used for deploying real websites.
If you want to get started using the image all you need to do is signup to Amazon Web Services and then start up an instance of your choosing. You know are in control of a fully configured, scalable server. This sounds easy in practice, however, if you are considering going down this path there are a couple of considerations:
Amazon is not the cheapest provider of bandwidth, RAM and storage. Other virtual servers have better deals. You are paying for the ability to spawn servers on the fly
Persistent storage is an issue which needs to be overcome and managed if scaling out your web server.
There a bit of a learning curve with some of the tricks of the trade when managing the servers.
Project Mercury and EC2 is a worthy combination if you really need the ability to serve massive amounts of traffic and also have the ability to temporarily scale out during peak times.
Drupal is fast with APC + Page Cache. It is very fast with PressFlow and Varnish. NB. It would have been interesting to see how Boost went against Varnish for this test.
The configuration chosen by the project is interesting because it shows how other sites might go about setting up a scalable server. in brief the setup is as follows:
Ubuntu 32 or 64 bit
Pressflow
APC for opcode cache
CacheRouter and APC/Memcached for No SQL caches
Varnish as reverse proxy
High Traffic, Varnish required, EC2 required: Easy setup considering.
Custom Drupal Distributions (part 10)
There are a couple of projects which have made it easy to achieve performance gains by making slight amendments to core or packaging up the code in a helpful manner. Pressflow makes it possible to use a reverse proxy such as Varnish, amongst other things. Mercury packages Pressflow up as a Amazon EC2 image. The development of both these projects is the sign of a maturing ecosystem where serious deployments can easily be rolled out.
Pressflow
Pressflow is a distribution which attempts to bring many of the improvements discussed above (SQL improvements, Varnish) into a single package. Pressflow is a standard Drupal install which has had its core modified to fix bottlenecks and facilitate the use of advanced caching features. FourKitchens don’t regard Pressflow as a fork since many of the initiatives found in Pressflow are contributed back into the development of the head of Drupal.
So long as you haven’t hacked core yourself then using Pressflow is a simple matter of swapping out core drupal and replacing it with Pressflow.
In a nutshell Pressflow allows the following:
High Traffic, Varnish required: Easy setup.
Project Mercury
Project Mercury is an innovative project from Chapter Three which wraps up a tricked out PressFlow installation in to a preconfigured Amazon Machine Image (AMI) for use on Amazon EC2 instances.
If you want to get started using the image all you need to do is signup to Amazon Web Services and then start up an instance of your choosing. You know are in control of a fully configured, scalable server. This sounds easy in practice, however, if you are considering going down this path there are a couple of considerations:
Project Mercury and EC2 is a worthy combination if you really need the ability to serve massive amounts of traffic and also have the ability to temporarily scale out during peak times.
The configuration chosen by the project is interesting because it shows how other sites might go about setting up a scalable server. in brief the setup is as follows:
High Traffic, Varnish required, EC2 required: Easy setup considering.
This article forms part of a series on Drupal performance and scalability. The first article in the series is Squeezing the last drop from Drupal: Performance and Scalability.