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:
- mytop, mtop, innotop
- 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
- mysql> show status like '%sort_merge_passes%';
- Good size to start at query cache size: 64MB
- 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
- 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.
