Presentation: 3.4 Million page views per day, 92 million per month, one server and Drupal


Yet another awesome

Yet another awesome article/slideshare! I just wish this site's design were a little better :)

I had one question: how did you get the anonymous/logged-in user graphs in munin? Do you have a custom script for that, or is there something that can be downloaded?

Custom Munin script

It is a custom Munin script that queries the database for the sessions table entries for anon and logged in users over the past 15 minutes and reports it back. Munin then plots it on the graph.

Not easy with memcache

Not easy with memcache, since it has no mechanism to iterate over entries, where as SQL has SELECT columns WHERE conditions.

Thanks for the

Thanks for the slides.

Unfortunately, the download halts at 380 kb and opening it throws an error about the PDF or format being corrupted. I have tried twice.

File is OK

I just double checked. The file is OK on the server, and checksum is the same as it is on my laptop. It is 636,446 bytes long. Others posting in this thread were able to load it.

Clear your browser cache and then try again.

Just clicked

I just clicked the link and it worked. I can see the PDF perfectly fine.

Please clear all your browser cache, exit the browser, start it again, and then try again.

The download did not work for

The download did not work for me in Safari, but worked in Firefox.

Seems like a browser issue, then.

I'm on Ubuntu 9.04.

Thank you!

Thank you for the slides!

Thank you!

Great presentation, thank you!

Slide: syslog

Rather than just using the general syslog configuration on the web server, had you thought about using Syslog-NG instead? As per v3.x, there is now an in-line file reading capability so even the Apache logs could be sent via syslog channel to a separate server and the filtering done within syslog configuration as well.


Normally, we like to stay with what the distro uses by default. This decreases maintenance.

The trend is to use rsyslog instead of just plain syslog. For example, Ubuntu 10.04 uses it by default. It is multi-threaded and allows various backends (including databases).

You can use Log Analyzer to view rsyslog's messages.

If there are only a couple of admins, we normally don't even bother with this, since the command line fills the need. If logging is on a separate machine, we can consider the log analyzer.

Excellent presentation, even

Excellent presentation, even just seeing the slides. Good, detailed content that people can act on. Thank you for making it!


I intentionally don't use the newer style of presentations with just witty pictures, and make them more towards the text heavy side, for making them useful after the event.

Your comment, as well as many others over the years, confirms that this is a good format to retain., or... ?

Great presentation, I agree 100% -- KISS is the way to go!

I am looking at hosting solutions for a web site with around 5000 visitors a day. It is currently on shared hosting, but it is getting slower and slower. looks interesting, but I don't know a lot about setting up an Apache server, so there is a big learning curve, and potentially lot of time used tweaking it. is another option. They presumably take care of all the technical stuff, so that I can concentrate on building great Drupal sites...

What are your thoughts on this?

I've been hosting a few sites

I've been hosting a few sites on linode servers in the US and London for over a year now and I can highly recommend their services. Until now I've never had any downtime and their customer service is really good.

When I began to host with them I only had a basic knowledge of the server side of things, there were always people in IRC to give me a hand.

Thanks! I especially feared

Thanks! I especially feared setting up the mail server part, but have looked more into Linode, and found out that there is an "easy" way to set up the mail server, for example Postfix, if all you want to do is send mail, and don't need a complete mail server.

I have also experimented with the Drupal Boost module, and seen an amazing increase in performance. I did have to tweak it a bit though, but it works really well now. It almost seems like the site is no longer on shared hosting 8o)



Thanks for the excellent presentation. We're implementing a site and expect to have very high load soon. We've some doubts on DB load, could you give some details about DB setup? which edition and version did you deploy? Since all the system is on the same server, this setup is not high available (e.g. the service may be interrupted due to DB failure etc.). Do you have plans for redundancy ( seperate servers for Mysql)?


Custom Content Type

Can you please explain the advantage of using custom content types rather than CCK?

Is it purely to reduce the memory overhead of loading CCK and other CCK add-on modules?

We are experimenting with a custom content type using 10 different fields, hoping to reduce the number of database calls. In the end, the number of database queries is HIGHER using this method as CCK caches the content in cache_content and performs only 1 cache_get to retreive it. Our solution, however, performs less queries when the cache is empty.

How would you approach a new site which is to have 30 content types, CCK or all custom?

Question about Slow Queries


Excellent presentation.

In your presentation there was something, a fix about slow queries. Where do I make the following changes? On the server? or On a particular place in Drupal template? if yes where?

● 84% of slow queries were:
– SELECT COUNT(*) FROM sessions WHERE uid = 
0 AND unix_timestamp() ­ timestamp < 
– 3.6 seconds!
● Changed to 
uid = 0 AND timestamp > 
(unix_timestamp() ­ (60*15))
– 30 milliseconds!


This is from a custom script that integrates the number of users browsing the site into Nagios. It is not in Drupal at all.


Often some of these presentations are recorded and placed online (web archive, for example). Was a recording done of this presentation and is it available online somewhere if so? This one would be great to see!

Unlikely ...

I searched to see if this one was recorded, but could not find it. Maybe it was on, or maybe it was not recorded.

If you find it, post a link here.