New Mercury Performance Metrics: Logged-in Users

joshk's picture

While Mercury has previously demonstrated the raw power of Varnish to radically accelerate the delivery of cached pages with Pressflow, that's only part of the battle for high performance Drupal. Cached pages need to be generated at least once, and logged in users will be bypassing Varnish when making requests. While it's nice to know you're covered for massive traffic spikes, what about baseline load?

Well, we want to answer that question too. Keep in mind that depending on your module/theme stack, your mileage may vary. A lot. Performance tuning a complex Drupal site for logged-in traffic requires sustained diligence at the application level — code profiling, slow query log review, innovative app-specific caches, etc — as well as hardware and system optimization. However, to set some baseline expectations, we used Jacob Singh's greate starter test suite and checked out a Mercury install on a 512MB Slicehost VPS. The results are quite encouraging.

I've reduced the size of the graph displays, but the full-size files are available below.

Concurrency 80% Response Histogram
20 0.2 sec 20 Concurrent Users
40 0.2 - 0.5 sec 40 Concurrent Users
60 0.2 - 1 sec 60 Concurrent Users
80 0.5 - 1 sec 80 Concurrent Users
100 1 sec 100 Concurrent Users

In short, what we see here is that even on a relatively low-power server Mercury is able to deliver 100s of concurrent logged-in page requests with an 80% response rate of 1 second or less. More detailed results and tests will be forthcoming in the weeks ahead, but these initial numbers are a very good place to start!

20.png5.47 KB
40.png6.16 KB
60.png5.13 KB
80.png5.28 KB
100.png5.44 KB


I'm looking for a performance

newbuntu's picture

I'm looking for a performance solution (see I just browsed some of your links about Mercury. It's kind of overwhelming to me. I wonder if I can ask a few basic questions before I plunge in.

I have a dedicated server with the following description: Intel® Celeron® 1.8 GHz, 1GB RAM, CentOS 5, Drupal 6.11. I currently pay $50 monthly. I don't have millions of visitors on my site (I don't have the exact number though), but I know my bandwith should be low, since I don't have any real media contents.

This is the first time I've heard of Amazon service. I saw you listed Amazon price in another post. It's kind of different from the traditional monthly price. I don't know a way to compare them.

My questions are:

  1. Can I use Mercury on my server?
  2. If I use Amazon, do you see a comparable Amazon plan?

Thanks in advance!


joshk's picture

Looked at the other thread. The biggest/easiest win you're missing is APC or another opcode compiler. This is a must-have. As for your questions about Mercury:

1. Can I use Mercury on my server?

It is completely possible to set up the same stack of technologies with CentOS, but we don't have step-by-step instructions for that Distro yet. If you're not an experienced sysadmin, the answer here is unfortunately going to be a "no" I think.

2. If I use Amazon, do you see a comparable Amazon plan?

EC2 is a different paradim for hosting. You pay by the hour to keep a virtual server instance online. Currently this costs around $60/mo for 24/7 service on their "small" instance, which will be comparable to your existing server, but with more RAM.

If you can hang on for a while, we should have better answers soon. We're currently working on lining up more traditional VPS based hosting options with lower entry price and a more traditional feel. It may take a month or so before that's sorted out though.