NYCPHP Meetup

NYPHP.org

[nycphp-talk] Drupal Performance

Spencer Thomas Hoffman sth at panix.com
Wed Oct 5 22:31:09 EDT 2011


On Wed, Oct 05, 2011 at 10:02:21PM -0400, Russ Demarest wrote:
> 	I am working on porting a site from a custom LAMP code base to Drupal 7. Drupal is running pretty slow on the same server config/VM that has hosted the site nicely for years. I have enabled Drupal caching but things are still sluggish. I am trying to determine what a reasonable hardware config would be to run Drupal. We currently run on a fairly standard LAMP stack and serve around 500k pages a month on a VM with 512MB of RAM. 
> 
> 	Essentially my question is, how much hardware does it take to run Drupal compared to a straight php/mysql site? Also are there some configuration changes I could make that would speed Drupal up, other than the standard stuff I have found on the web? Any insight or comments or ideas would be appreciated.
> 

You don't have a great deal of detail about your setup, custom code,
what response times (in ms) you expect, but here are some broad things
to think about.

1) Look at your modules' memory footprint. There are modules to sort of
help you do this, but the "turn one off then look at your web server
memory usage" is often faster. Turning off modules or writing custom,
optimized code does sort of defeat the purpose of using a modular system
like Drupal, but it's sometimes unavoidable with piggish modules (and
it may just be small number or single culprit.)

2) Aside from normal caching, make sure you're using minified JS,
gzipped HTML output, APC, a reverse proxy(Squid or a module like
Varnish) for static content and/or something like Boost, separate hostnames
for different sorts of content to increase parallelism, etc. The Page Speed
module for Chrome and Firefox is helpful here. Depending on your
specific site, memcache can also be helpful.

3) Check your MySQL query cache, key cache and friends. tuning-primer.sh
is very handy for this.

The other considerations are of course your VM host/machine. Are you sharing
the system with many others? Has their usage ticked up recently? Is your
host's (or your own) internal/external networks' usage increased? With
the ease of cloud rollouts these days, you can easily check it by
deploying a copy of your setup elsewhere (AWS <-> RS, for example) to
quickly sanity check your hosting environment.

As far as whether your setup is underpowered, it's hard to huge without
knowing the specifics of your site. Highly dynamic? Lots of complex
DB queries? 

Anyway, that should get you started.




More information about the talk mailing list