7. Bad Server?
So how's £5.99 a month working out for you?
Caching will help... but again you still have
bigger issues.
Scale horizontally/vertically for a quick fix then
work on additional caching.
8. It's not!
I like you!
Caching is always a good thing, except when
you have to debug it...
9. Caching in Drupal
- Code Level (cache_get/cache_set)
- APC (not covered here)
- Resource caching (this get's tricky!)
- DB Layer
- CDNs (related to resource caching)
10. Code Level
Drupal has it's own caching api.
Module Developers use it!
cache_set - store data in Drupals cache table
cache_get - get data from Drupals cache table
You can even define your own cache tables!
11. Resource Caching
Many different types of resources
Each can be cached by different tools
Example:
- Drupals CSS/JS Cache
- Drupals Page Cache
- Boost
- Varnish
13. Resource Caching - Boost
Boost - http://drupal.org/project/boost
Static caching for all Drupal Assets
Anonymous users only
Ideal for shared hosting environments
Potentially the easiest to setup
14. Resource Caching - Varnish
Application Accelerator
Linux Only
Caches resources based on initial view
Anonymous only - very picky with sessions and cookies
Insanely Powerful
15. Resource Caching - Varnish
Advanced setup - requires additional module
and VCL for Drupal
- http://drupal.org/project/varnish
Granular ttls (time to live)
Specific resource (image/css) and page
element! All available through VCL config.
16. Resource Caching - Varnish
Cache Stores
- RAM
- Disk
Ram - super fast - requires a lot of ram
Disk - fast - disk space is rarely an issue
17. Data Caching - memcached
Data and Database caching layer
Caches cache... (and things!)
18. Data Caching - memcached
Example:
Core cache - core cache tables (cache_*)
Moved into memcached and shared between multiple
instances across multiple servers
Simple api makes getting and setting easy
Drupal requires - http://drupal.org/project/memcache and
pecl extension
19. 3rd Party Caching - Akamai
One of the biggest caching providers
A high chance you've experienced Akamai
today without realising it.
Static cache of resources
Content Distribution Network
100+ Edge servers all over the world
20. 3rd Party Caching - Akamai
Coverage for DDOS attacks
- Active monitoring and defense
Advanced redirection rules through control panel
It's not cheap!
It's also pretty magical.
21. 3rd Party Caching - Cloudflare
Similar to Akamai
Smaller scale
Emphasis on security and DDOS protection
22. Content Distribution Network
CDNs for short
Offload resource handling to external provider
- Images
- Video
- Audio
- Large files
Syndicate content around the world
23. Content Distribution Network
Why use a CDN?
- Content is delivered quicker
-- Latency cut down
Pricing is granular - pay as you go type deal
Amazon + Rackspace Cloud Files
26. Caching to the rescue!
Each layer provides protection
3rd Party - shield 99% of anon traffic
Varnish - the rest
Anonymous users should never know your site
has issues.
27. Debugging Tips
Configure different urls for different platforms
- Easier to identify what cache layer has an issue
Don't be afraid to flush caches
- Your backend should be able to cope with it
Analyse headers! Drupal and Varnish provide a lot of info
Akamai information can be gleaned from additional http
headers.