Drupal Performance Session

Nothing ground-breaking here, but a nice recap of different aspects of performance and scalability tuning in the context of a Drupal deployment.

Generic Linux performance monitoring tools:
top, htop, vmstat, free -m

Apache:
apachetop

MySQL:

  1. mytop, mtop, innotop
  2. And of course the Query Log Viewer (configurable from my.cnf). This log is hard to browse as a text file, however. So a good tool for viewing: mysqlsla
  3. mysql> show status like '%sort_merge_passes%';
  4. Good size to start at query cache size: 64MB
  5. If large size of query cache is freezing-up your MySQL (due to locks) you can try decrease the default of 4KB for query_cache_min_res_unit to 2KB
  6. If you are using InnoDB and getting too much concurrency (too many threads), you can play with the innodb_thread_concurrency setting.

Drupal modules for performance:
CDN, sf_cache, Boost, Fast Path Cache, cache.inc - pluggable caches.