varnish
Mercury 0.71-Beta Released
Mercury 0.71-Beta has been released with small bugfixes (see https://bugs.launchpad.net/projectmercury for details).
AMI IDs are:
US 32-bit: ami-bd7c9fd4 - chapter3-storage/PANTHEON-pressflow-mercury-0.71-Beta.manifest.xml
US 64-bit: ami-b17c9fd8 - chapter3-storage/PANTHEON-pressflow-mercury64-0.71-Beta.manifest.xml
EU 32-bit: ami-8f2c07fb - chapter3-storage-europe/PANTHEON-pressflow-mercury-0.71-Beta.manifest.xml
EU 64-bit: ami-73230807 - chapter3-storage-europe/PANTHEON-pressflow-mercury64-0.71-Beta.manifest.xml
Project Mercury Beta!
With great pride, and after six alpha-level releases, I'm announcing of our seventh iteration on the Project Mercury stack, finally baked enough to call "beta".
At this point, we know that many people are using the Mercury EC2 image in production environments, and we've tuned this release conservatively to prevent it from breaking down under heavy load. We've also verified that the stack will work under a resource-constrained VPS (e.g. one with 1/4th the RAM of a small EC2 image), which gives us more confident that this configuration is stable. We also have a kickass logo:

Additional testing of Mercury with 2GB and 512MB RAM
My name is Greg Coit, sysadmin for Chapter 3 and I've been helping with Mercury development and testing.
We wanted a get a quick idea of how hard we could push mercury under more "real world" circumstances, so I combined siege and ab to generate a broad spectrum of hits. ab (short for apache benchmark and part of the apache2-utils package) allows you to generate a very large number of hits on one url, while siege (a perl script which comes in a self-titled debian/ubuntu package) lets you spread the hits across many urls, most of which won't be cached. This mixed-load is a much more nuanced and accurate way of looking at performance than peak throughput on a single url.
Nginx Benchmarking
mikeytown2 and I hijacked my nginx built-in caching thread for some benchmarking discussions. Mostly Boost vs Varnish vs. Nginx caching. It needs its own thread.
My quick and dirty ab testing on my home "dedicated" server is at http://groups.drupal.org/node/26485#comment-101296 with a couple more using keepalives is at http://groups.drupal.org/node/26485#comment-101518.
Initial Mercury Results From 512MB VPS deploy
Just a heads up; as we move towards more and more stable builds of the Mercury stack, we are starting to look at deploying it on other infrastructure besides EC2. This week, we set it up and tuned for a modest (512MB of ram) VPS. These tests were successful. We were able to simulate a mix of non-cached traffic along side the simple ApacheBench battering, and the system held up well, even without gigabytes of ram to support it.
Project Mercury Alpha 6: Now With Solr!
I'm happy to announce the 0.6 Alpha release of the Mercury AMI, now including ApacheSolr as the search backend! This is the last piece of major infrastructure we want to integrate into the stack for scalability purposes. You can now move from a single-server install based on Mercury to a best-practice vertically scaled architecture with separate hardware to run front-end cache, application, back-end cache, search and database!
The quickest way to find it is by searching Amazon EC for "Pantheon" or "Mercury". The manifest path for the latest release (in 32bit and 64 bit flavors) is:
chapter3-storage/PANTHEON-pressflow-mercury-alpha-6.manifest.xmlchapter3-storage/PANTHEON-pressflow-mercury64-alpha-6.2.manifest.xml(back!)
If you'd like to "roll your own" we've updated the wiki instructions page with a new set of instructions for getting Solr up and running as part of the process. Feel free to improve that documentation, as it's definitely a community process.
This will likely be one of the last releases before we move the project into the Beta phase, at which point we'll be focusing on fine tuning and stability as well as portabilty onto non EC2 systems moreso than new features. If you have ideas for additional things you'd like to see integrated in the stack, please chime in. We're also going to be documenting real-world "how to" use-cases — e.g. "how do I put my existing site on Mercury" in user-friendly detail — so stay tuned for that.
As always, let us know what you think of the release, what you'd like to see in future iterations, and how your experience is in using the stack. There's plenty more to come.
Mercury Update: Beta Coming Soon!
Just wanted to let everyone know we're hard at work on a Beta release of Project Mercury. Currently we are tuning Varnish further, working to package Apache Solr on board as the search backend, and testing the whole system for bugs. We will likely issue one more alpha release (0.6) before we get to a Beta, but I want to have that launch by the end of the month if possible.
The high level road map:
- Package Solr
- Improve default Varnish config
- Thoroughly document "putting your site on mercury"
- Resolve lingering bugs (e.g. cron.php issues)
Once we hit Beta we'll be pushing for wider adoption, which means pursuing alternate non-Amazon hosting options. Currently we're looking at alternate cloud providers, VPS partnerships, and other packaging options like VM images, etc. So stay tuned, and let us know what else you'd like to see us look at including early in the Beta cycle!
New 0.51 Mercury AMIs: Many Fixes and 64bit!
I just wanted to post an announcement that we've finally gotten out a point-update of the Project Mercury AMI. Just in case you were wondering if this project would continue, it will! I've been really excited and encouraged by all the positive feedback so far, so keep your ideas and questions coming. The 0.51-Alpha release includes a number of bugfixes and improvements, most notably it:
- Is based on the latest Pressflow including Drupal Core 6.14 and Simpletest 2.9
- Fixes the self-update process to merge correctly and pull from Pressflow's lovely new VCS home on Launchpad
- Includes the rc1 version of cacherouter
- Fixes postfix and s3 metadata issues so there's now a working MTA out of the box
Most importantly for people considering this stack for production deployments, we're now bundling 64-bit images with every release. The quickest way to find the AMIs is to keyword search for "mercury" in your favorite EC2 console. More information and AMI ids are below the fold. Let me know what you think, and what you'd like to see next!
Serving flat (Varnish) pages AND allowing anonymous users to comment on content
I know anonymous traffic scales way easier than authenticated traffic -- particularly with a reverse proxy, like Varnish. But I'm wondering if the benefits are negated if you allow anonymous users to comment on and/or rate content. Anyone know about that?
I'm working on a site that has a particular (one-day) traffic spike, and am devising the gameplan on which database-intensive features to throttle and/or temporarily disable.
Varnish2 vs Squid | Caching for drupal.org
Interesting post about caching for drupal.org by Narayan Newton (nnewton) at http://nnewton.org/node/9




