Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Drupal Server Performance

Drupal Server Performance

How to quickly boost your Drupal performance using simple infrastructure tweaks.

Eidolon Night

April 29, 2013
Tweet

More Decks by Eidolon Night

Other Decks in Programming

Transcript

  1. Who is this guy? irl: Nicholas Garofalo d.o: Eidolon Night

    8 years of development experience CTO at WebOzy, Inc. in Batavia [email protected]
  2. A good host invest in a good host or it

    will haunt you the entire project options: Pantheon Acquia DIY (VPS or dedicated) EVERYTHING else sucks (by our standards) • that includes: shared AND cloud
  3. Managed Hosting use this if you: need someone to blame

    have no time to maintain want tight integration and can sacrifice flexibility
  4. UN-Managed Hosting use this if you: kick ass have time,

    but not much money need to run other stuff want a really custom environment
  5. Linux minimal installs rule Adjust swappiness to keep things in

    memory sysctl -w vm.swappiness=25 RTFM - man pages rock
  6. max clients = available memory / average size of apache

    process spare clients depends on traffic patterns keep alive
  7. use the latest version or MariaDB innodb is now default

    in D7 (use it if you’re not already) innodb_buffer_pool_size http:/ /drupal.org/project/dbtuner
  8. max_execution_time memory_limit load the modules page with all your modules

    and you’ll quickly discover if this is too low... or clear the cache and load a massive View
  9. APC apc.stat just leave it enabled shared memory make it

    big enough so as to not have fragmentation
  10. Memcached high-performance, distributed memory object caching system let’s you quit

    using the database (disk) for caching http:/ /drupal.org/project/memcache
  11. settings.php $conf['reverse_proxy'] = TRUE; $conf['reverse_proxy_addresses'] = array('127.0.0.1'); // define cache

    backends $conf['cache_backends'] = array('sites/all/modules/ memcache/memcache.inc', 'sites/all/modules/varnish/ varnish.cache.inc'); // memcache will be our default $conf['cache_default_class'] = 'MemCacheDrupal' $conf['memcache_key_prefix'] = 'livebatavia'; // Varnish can handle the page cache $conf['cache_class_cache_page'] = 'VarnishCache';