Hello, I am looking to install Drupal to run a government site that has an average of 1 million pageviews a month. There are roughly 3 "spike" days that hit 100,000 pageviews in a day (27,000 visitors).

Some articles tell me that if I have such high traffic Drupal would not be the right choice because of the server demand with PHP. However, I am under the assumption that our bandwidth isn't limited. Any thoughts?

Comments

attiks’s picture

It depends, if the pages are the same for all users, you can use caching (see boost for example), if you use caching wisely drupal is fast (like 100ms for pageloads), if on the other hand all users are authenticated and content depends on which user is logged on, you'll need appropriate hardware to run. I think drupal.org has like 150k users and if i'm not mistaking is running on 4 servers.

Attiks - graphic design and web applications

kmiller755’s picture

Is caching handled at the level of the drupal software itself or by OS-level or hardware level specs?
The original poster's needs seem to revolve around the spike days which are quite heavy.

vivek.puri’s picture

for performance and scalability, bandwidth is only one aspect. You have to consider what kind of hardware ( sizing, etc ) you will be using. The type of content , is it more dynamic or more static. Also will there be user generated content or not.

vp

_Z_U_’s picture

We are currently running one dedi server with a decent amount of ram. It is a lot of dynamic content but only a very limited amount of users. The content is created by only a small group.

Given that some big sites (such as DO and the Onion) are running Drupal I am fairly confident that our site will be fine.

AngelaE8654’s picture

I did not know the Onion was running Drupal. That is a heavily traveled site.

Angela from Aberdeen

juan_g’s picture

xjm’s picture

The Onion is very heavily forked from CVS Drupal, and a lot of this is for performance reasons. (Let's just say I know a guy, OK?) They also are using a CDN, of course. If you expect that kind of traffic (don't we all wish!) you're going to want some full-time developers to give Drupal a tune-up.

Also, beware of contrib. A lot of contrib modules are quite under-optimized compared to the core.

Nonetheless:
http://buytaert.net/obama-using-drupal

EMC4242’s picture

The CDN and more optimization, especially in the db area is a given. I would imagine there is extensive caching, etc, to save a lot of cpu power instead of re-creating each page.

I actually deal with this personally on a regular basis with a number of sites where the optimization makes ALL the difference.

Angelica9800’s picture

Among all those sites which is heavily traveled are using drupal and not only Onion. Drupal CMS can really accommodate a high traffic.

vivek.puri’s picture

decent amount of ram

that varies from team to team for some 2GB is decent for others 16GB would be just about right ;)

Given that some big sites (such as DO and the Onion) are running Drupal I am fairly confident that our site will be fine.

Both DO and Onion run on multiple servers. They wont scale on single server. So if hardware is not a limitation i.e. you can throw more hardware required then it will possibly scale as much as you want.

But based on your comments I gather there is a small team of content writers and peak is 100K pageviews/day with mostly anonymous users. So I think it can be done on single server with decent amount of ram of course ;) . But result will depend on final design choices.

vp

_Z_U_’s picture

At the moment, we would not be able to add additional servers (that takes proposals, committees, the legislature, public opinion, foreign relations, approvals, and money!). Ram is easier.

With the implementation of a CMS and other features, we may grow our numbers to the point of needing multiple servers. Therefore, my concern is over that bulge period before the acquisition of an additional server. Ultimately, I am trying to figure out if Drupal is the best solution.

juan_g’s picture

On the handbook page Drupal caching, speed and performance, there is a list of useful resources for high traffic Drupal sites, including some case studies on optimization (for instance, with a million page views a day on a single server for site and database -using Memcache, also included in Cache Router-, etc.).

The Boost module (static page caching for non-logged in visitors) mentioned by Attiks is indeed one of the especially effective possibilities in these cases, and for sites of any size.

For example, Memcache and Cache Router seem specially suitable for dedicated servers. Boost improves performance greatly for both shared and dedicated servers. (See more details on the handbook page linked above).

kansascitycars’s picture

I have a WP blog that is starting to get relatively heavy traffic. Do you think it would be in my best interest to switch to Drupal or stay with WP?

juan_g’s picture

For high traffic, for example the WordPress Super Cache plugin is similar to Drupal's Boost module. Drupal is more powerful, and WordPress is easier. So, if it's just a blog and there are no plans for a more complex site, WP can be good and enough.

ionpanait’s picture

First of all you need to know that is an amount of traffic peak that will determine you to this change. Don’t hurry with the change because it might affect negative your blog.

Biorezonanta

pbvkrishna’s picture

Good to use drupal, But need to change some setting like cache for non registered users and many more.

-------------------------
Krishna
My City Portal - http://www.kakinadainfo.com
My Company - http://www.aaspiretechnologies.com

zilla’s picture

just curious...

at any rate, drupal seems to scale well - otherwise i can't imagine that acquia would have managed to raise much money: who would want to commercialize an open source project that isn't scalable? it would be like saying (back in time), "yes, we'll fund redhat, even if they can only support small businesses"

the case studies are excellent, and the list of sites is quite enormous - though many are content delivery intensive

however, one big example is popsugar.com, which includes a network of sites all built around user generated content (groups, et al), perhaps they can walk through more than what's in their case study with you 'off the record' regarding how they handle and balance authenticated high traffic sessions across their network of sites...

........................................................................
i love to waste time: http://twitter.com/passingnotes

_Z_U_’s picture

CIA/Intell community networking-- no, that is not us. Interesting though, I wonder how they handle their site's security?

Thanks for the note. I'll look into popsugar.com

joseonate’s picture

Once you consider your caching options, you can build your site to keep in mind the caching requirements and thus be able to serve pages much faster even to logged-in users.

Take a look at some cache options:
http://groups.drupal.org/node/21897

For instance,
If most of your traffic is anonymous (the case with most sites), then a module such as Boost can help you bypass the Drupal bootstrap altogether by caching pages as static pages and serving them directly upon an http request. This means that pages can be served in a matter of even single-digit milliseconds.

If you need to support logged-in users, pages and blocks can be cached as long as they are not dynamic, but they are normally stored in the database.

As a general use case, the largest Drupal site I served using a simple shared host account, made average use of CCK, Views, Fivestar and a few other modules, and handled 750k visits per month comfortably, using the basic Drupal cache. A dedicated server with a properly tuned advanced cache should be able to handle 10s of millions of anonymous pageviews/month very comfortably.

aamin’s picture

I think with the correct Web Architecture and other caching implementations (Memcache and Varnish or Boost) Drupal can be a good option for you. I have worked on a site with more than 5 Million pageveiws per month built using Drupal and it did fine.

KenneyLee1117’s picture

For sure you shouldn't have a problem. I own a news site that has these kinds of spikes and we fixed it by just adding a super cache plugin. It works great. Plus, like I saw mentioned earlier that The Onion uses Drupal too which is also a news site that has these kinds of spikes in traffic.

xjm’s picture

The Onion has not used Drupal for ages. They migrated to Django. See: http://www.reddit.com/r/django/comments/bhvhz/the_onion_uses_django_and_...

Nonetheless, there are plenty of high-traffic sites that do use Drupal nowadays: examiner.com, whitehouse.gov...

Also: Any seriously high-traffic site will use a CDN, regardless of the technology underneath.

mrdiet’s picture

But wouldn't you agree that Drupal is one of the strongest CMS solution?

Additionally, the modules make it easy to customize Drupal’s core functionality.

Radiating Gnome’s picture

Might want to take a look at Pressflow, a Drupal distribution customized for better caching options and high traffic sites.

http://pressflow.org/

paulnic123’s picture

I agree however I think you need to be a stronger PHP developer to work on large scale Drupal apps than on certain other CMS's such as CodeIgniter

socceronly’s picture

I get about a million page views a month, running a dozen sites on a server that is almost four years old. Two of the heavier traffic ones are vBulletin. I have no technical experience to offer but if Drupal can't handle a million page views a month on a modern dedicated server, with spikes... I can't imagine it would be as successful as it is. I understand it would be different if every concurrent user is trying to compute protein folding at the same time ect...

aerconditionatshop’s picture

All the CMS platforms have good and bad things on it, Drupal is the most stable platform out there, but for such of number of visitors per day and month you must know very well PHP for making some things like you need to work. So all your needs can be satisfied by Drupal but you must think beyond the platforms you gonna use.

grinder3011’s picture

I am just getting to know drupal slowly along with PHP. It's nice to have such a big comunity to see all the different opinions shared.

lorraine02’s picture

you need set a website after you have research the biggest users of this website ,and then get a good preperation.

andyb85’s picture

A friend of mine is working for a website with similar number of pageviews and they are running Drupal fine.

clarkcapers7234’s picture

You could, but you can also go with a cloud. Anyhow, i bumped with a similar question like yours here at drupal, and this might be an added suggestions. Hope it can help you!

http://drupal.org/node/1223738
www.peachtreeink.com

GeorgeSolar’s picture

Yes of course you van use drupal. I have a website about solar energy running on drupal, before i used a different cms, but drupal is much lighter so i switched and i'm getting better overall results