=============================================== Stop Tilting at Windmills: Spotting Bottlenecks =============================================== Presented by Yann Malet & Brandon Konkle ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Get numbers before you start trying to debug. You can't fix a problem you don't have. Performance Testing ------------------- * Time to load a page * Number of queries per page * Time taken by the queries * Number of cache hits/misses * Time spent waiting on 3rd parties .. note:: Django Debug Logging: https://github.com/lincolnloop/django-debug-logging Load Testing ------------ * Taking your entire app infrastructure into account * Understanding how your performance changes under stress and over time * Creating realisting test plans that imitate real life traffic Database ________ * Handling numerous queries in parallel * Types of queries running at the same time Caching _______ * Cache key expiration * Cache size and key eviction .. note:: JMeter Command-line tools __________________ * htop * dstat * pg_top, mtop * memcache-top