Download - Drupal Performance and Scaling
About Kite Systems and myself
Performance
Caching
Scaling
Optimizing
Agenda
Kite Systems is an Agile development house which means the client is actively involved all the way through the development process. We build high quality, secure platforms using Java J2EE, Microsoft .NET, Ruby on Rails, PHP and Python.
Join Us
Web Developer/themer at Kite Systems Inc.
Drupal developer since 2010
Drupal PH kids mentor
About myself, Gerald Villorente
Why Drupal is Slow?
Short response time (milliseconds per page)
High throughput (rate of processing work, e.g. page per second)
Low utilization of computing resources (CPU, memory, disk, network)
Performance
Improving system performance from what it is at present
Faster response to the end user per page
Handle more page views
Minimize downtime
Our Objectives
Each objective is different, but they can be related
Everyone wants them, but not willing to PAY!
Why Drupal is slow?
Why Drupal is slow?
Drupal is not really slow at all
Why Drupal is slow?
Drupal is not really slow at all
Server (web server, SQL server)
Why Drupal is slow?
Drupal is not really slow at all
Server (web server, SQL server)
Drupal (caching, aggregations, modules, 404)
Why Drupal is slow?
Drupal is not really slow at all
Server (web server, SQL server)
Drupal (caching, aggregations, modules, 404)
Hardware (memory, CPU) - Shared hosting- Dedicated/VPS- Local Development Environment
Benchmarking Apache with ab
Rule of Thumb:Allocate 50% of the available physical memory to Apache. So, 250M / 20M per process = 12 httpd processes maximum.
Server: Optimization
ab -n 500 -c 50 http://mydomain.com/index.php
Load Average
Demo of Drupal Modules
Varnish
Memcache
Boost
Drupal Internal Caching
Caching
Cache Storage
Varnish is an HTTP accelerator designed for content-heavy dynamic web sites. In contrast to other HTTP accelerators, such as Squid, which began life as a client-side cache, or Apache and nginx, which are primarily origin servers, Varnish was designed as an HTTP accelerator.
Varnish
Varnish
The Alternative PHP Cache (APC) is a free and open opcode cache for PHP. Its goal is to provide a free, open, and robust framework for caching and optimizing PHP intermediate code.
APC
APC
APC
Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.
Memcache
Memcache
Boost provides static page caching for Drupal enabling a very significant performance and scalability boost for sites that receive mostly anonymous traffic .
Boost
Boost
Load balancer
Database Cluster
Scaling