# Run, Content, run! --- # Markus Heurung @muhh Co-Founder and Web operations lead of freistil IT freistilbox.com --- ## What’s high performance? --- ## It's about the speed. Notes: Not about the amount of requests. Or traffic. Definitely not about scalability. --- ## anonymous vs. authenticated ## static vs. generated --- ## What's to optimise? - Browser - PHP - Drupal - Webserver - Filesystem - Database --- ## Static files  ——— ## Tuning Linux Fast disks File system cache File system layout — ## Tuning Apache `MaxClients` & Co. `KeepAlive` Scaling out —— ## Drupal  —— ## Tuning PHP Get many CPU cores Use an opcode cache (APC) Check apc.php 128-256 MB —— ## Drupal Database for almost everything: * Content * Configuration * Content queries and layout * Caches * Watchdog (logs) —— ## Configure Drupal Compression CSS & JS aggregation Caching Watchdog into syslog into logstash —— # Choose your modules wisely! —— # Optimise your database queries —— # views queries, too —— ## MySQL Disk I/O InnoDB Buffers (caches, temp tables) —— # use less DB —— # Cache → memcached Notes: or redis —— # Search → Apache Solr Notes: and content collections —— # Content → MongoDB ——  —— # [] Varnish ——  ——  —— # Tuning Varnish Modules: * Purge, Expire, Rules * Varnish Optimise VCL logic ——  Notes: https://www.flickr.com/photos/kimberlykv/5061421858 —— # monitor & measure Notes: measure your settings monitor your usage apply insights to your setup rinse & repeat —— # Thanks! # Questions? # markus@freistil.it