Real World Performance Analysis by Narayan Newton

Talking to clients/stakeholders

Going beyond "it's slow"

- Authenticated/anonymous balance

. Other limitations

1. Validate load times quoted to us (assume client is lying) ;)

2. Stay zoomed out...

- pt-query-digest

slowlog in my.cnf - long-query-time

drupal 6 views_lightpager module -- doesn't run the select count(*) AS expression

views for d7 is a little smarter

views > view > settings > advanced > add views signatures


- webgrid


we have not tuned mysql



page_cache_invoke_hooks FALSE

page_cache_maximum_age 1800

will cause drupal to send the correct headers


install varnish, use four kitchens vcl


remove has_js and Google Analytics cookies.

Strip off the cookies that don't matter to the backend.

SESSION cookie is the only one that matters.

cd /etc/sysconfig

vi varnish


varnishlog rather than firebug, etc... most browsers 


apc include_once override

percona toolkit


stay focused, look globally


include_once override conflicts with almost everything


xhprof is much much better than xdebug, but harder to use and much harder to setup.


innodb buffer size needs to be large enough to cover your Drupal data size.  more than


innodb sync method (default: full acid mode), change if hardware is perfect.


vmstat -- best utility in the world.


any tools for tracking performance issues that only show up on production?

with enough money, get a new relic account ...  cacti or munin for server trend tracking


look at slow query logs ....  "logs don't lie ...until they do."