#drupalcon Day 2 Session Highlights

How to make Drupal perform and scale like a rock star gave some important tips on how to get your Drupal site performing.

Some background on speaker Michael Cooper is that he's built 5 CMS before he made the move over to Drupal, which illustrates again how powerful Drupal is out of the box. He's launched sites to handle 5 posts per second and those that failed in 90 seconds!

Why are most Drupal  websites slow?

  • Full page renders
  • They server dynamic content to anonymous users
  • Excessive/non-optimised data base queries
  • Naughty modules!

What's the answer?

Well it turns out that caching is the answer, something built into Drupal but often not enabled by a lot of budding Drupalists.

He ran some tests using a cloud server with only 256mb RAM and then monitored the results. There's a number off ways you can monitor your sites performance such as:

More Tips To Speed Up Your Drupal Installation

  • APC is a must
  • Look at Mysql performance
  • Mysql cache not enabled by default
  • key_buffer_size=12mb
  • query_cache_size=24mb
  • query_limit=2mb
  • table_cache=96
  • sort_buffer_size=12mb
  • myisam_sort_buffer_size=12mb
  • tp_table_size=12mb
  • Cache router module

Use devel to find out how long the page takes to load, where the memory goes etc. You can also use APC stats to find out similar information.

Other tips were to use aggressive cache and the Path alias cache module.

Don't Design Websites, Design Web Systems!

This session was headed by Todd Ross Nienkerk and Adam Snetman with some good examples of their work involving one of their clients Expeditiionary Learning.

The evolution of the web now means that instead of quoting for sites by the page, today we look at the functionality required and the architecture behind this.

Steps in Designing

  • Define the site, what's it's purpose, who's the audience, what's the content, how are users going to interact?
  • Gather goals and requirements (business goals) from business owner
  • create personnas
  • Define content types and site map
  • Wireframes eg balsamiq.com
  • Usability testing

One method to use in order to share your vision for the overall look of a new design with the client is to use mood boards. A good alternative to mood boards they suggested were style tiles which put type, colours and images into more of a formatted page to illustrate to the client the elements you'll be using in your design.

Nice font used too, Din Condensed ;o)

Comments

Shaf's picture

Performance tuning

Hprof - O errr dude ! Not with drupal ;)

Also for anyone who does MySQL performance tuning regularly your buffer and key cache sizes will vary immensely from one web application to another. Table analysis and correctly constructed indexes should be looked at first in order to gauge how much to cache.

All the best,
Shaf

Richard Dewick's picture

Cheers Shaf, I think his

Cheers Shaf, I think his suggestions were on a basic level but something people should consider when tweaking their server config. I'll avoid Hprof then ;o)