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

 

settings.php:

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."