My Experience with Drupal (So Far)

Drupal is the content management system that SIGPWNED is built on top of. My experience so far, in 10 words or less? "Really, really good."

Drupal is very themeable and has a great many themes available for free. Right now I'm using a lightly-modified version of iTheme, and it's worked like a charm so far. I'm not a graphic designer, and I'd much rather spend time working on code and content for SIGPWNED than on web design, so Drupal theming is exactly what I need.

I've also been pretty happy with how many modules are available, again for free. I've currently got about 10 modules installed in addition to the Core modules, and they all play pretty nicely together. tac_lite rocks! I haven't done any comparisons between the module selection for Drupal and the extension selections for any other CMSs like WordPress yet, but I will soon. The veritable tide of modules available speaks to Drupal's excellent extensibility.

Of course, the modules and themes wouldn't be available at all except for the first-rate Drupal community. I haven't even had to ask questions on any of the forums yet because the body of knowledge out there is already so extensive.

There is one important caveat about performance, though. Unless you specifically tell it otherwise, Drupal will generate all pages dynamically at request time. Because of the way Drupal is designed, generating a page involves many database queries, perhaps up to 30 for an average page. It's important to note here that while 30 sounds like a lot, this is not an unreasonable database load at all, especially because Drupal's database schema is well-indexed and Drupal is bright enough to use only a single database connection per page serve.

Because serving a Drupal page requires so many queries, it's important that the individual queries come back quickly, so you should check your host's database layout before rolling out Drupal. For example, DreamHost runs their databases and their webservers on different machines and loads their databases too heavily, which means that query response times on the order of 30ms are not uncommon. For example, my homepage uses 37 queries to generate SIGPWNED's front page, so at 30ms per query my page response time would be at more than 1.1sec before I even started generating the page. My current host ANHosting has good database response time on the order of 0.75ms per query; I suspect they colocate their database and webserver on the same machine, which is probably The Right Thing for Drupal.

For the record, I found that NetworkRedux hosting was not up to snuff for Drupal performance. To be fair to them, their support and pricing were top-notch in my experience. Also, I didn't dig into the performance problem at all, but Drupal performs fine out-of-the-box on ANHosting, so it does seem to be a NetworkRedux issue and not a Drupal issue.

Also, I've found Drupal's documentation to be pretty good, but oddly enough it doesn't seem to be indexed too well by Google, so you'll actually have to search by hand. How pedestrian. I hope this doesn't have anything to say about Google's ability to index Drupal pages. I'll write about my experiences with Drupal and Google as soon as I have some. As an additional learning aid, I bought Pro Drupal Development, and it's a really excellent resource. Incidentally, Amazon's $30 price is really good; I bought mine from Barnes & Noble for $45!

If you're planning on starting up a Drupal site, great! Drop me a comment and I'll be sure to stop by. I'd recommend you stay away from 6.x for now and stick with 5.x. It's a fact that more modules and themes are available for 5.x, and most people are still running 5.x, so you're likely to get better community support on 5.x than on 6.x. However, 6.x is very sexy with lots of new features, so I'm looking forward to upgrading as soon as it makes sense. I will not mourn the death of visible weights in 6.x. The consensus seems to be that 6.x will be ready for prime time in about 18-24 months.

I've already hit a couple of gotchas in Drupal, but it's late and this post is already plenty long. I'll write on those a little later.

Currently Reading: 
Cover image

Pro Drupal Development

John K. VanDyk, Matt Westgate

$29.69 (Paperback)