SLIDE 1 High Availability High Performance
How to sleep without the server-crash-fear
Michael Schmid michael@amazeelabs.com @schnitzel
SLIDE 2 High Availability
- no „Single Point of Failure“
- Redundancy
SLIDE 3 High Performance
- Response times
- Caching
- HTML
- Data (serialized)
- Scalable
- adding easy and fast more
servers
SLIDE 4
Scalable & Redundancy Server System
SLIDE 5
starting position
SLIDE 6
Goal
SLIDE 7
starting position
SLIDE 8
Two Webserver
SLIDE 9 Apache
- APC
- precompiled
- keeps files in memory
SLIDE 10 nginx
- lightweight Webserver
- Reverse Proxy
- Loadbalander
- can be faster
- more knowledge needed
SLIDE 11 Two Webserver
MySQL?
SLIDE 12
starting position
SLIDE 13
dedicated MySQL
SLIDE 14
second Webserver
SLIDE 15
How to Access?
?
SLIDE 16
Loadbalancer
SLIDE 17 Loadbalancer
- passes through requests
- „Man in the middle“
SLIDE 18
Loadbalancer
SLIDE 19
second Loadbalancer
SLIDE 20
second Loadbalancer
files?
SLIDE 22 NFS
fallback?
NFS
SLIDE 23
GlusterFS
SLIDE 24 GlusterFS
- Distributed Filesystem
- multiple Server/Clients
- auto-heal
- split-brain
- Not soo fast
SLIDE 25
GlusterFS
SLIDE 26
second GlusterFS
SLIDE 27
MySQL
fallback?
SLIDE 28 MySQL Master/Slave
- Master
- WRITE
- Slave
- READ
- Hot Spare
- Slave become Master
SLIDE 29
MySQL
SLIDE 30
MySQL
SLIDE 31
Memcache
memcache?
SLIDE 32 Memcache
- Replaces “_chache“ tables
- Key / Value Store
- Fast
- Memory only
- own Server
SLIDE 33
Memcache
SLIDE 34
Memcache
SLIDE 35 Varnish
Varnish Varnish
SLIDE 36 Varnish
- Reverse Proxy
- Caches full HTML Pages
- Hates Cookies/Sessions
- No SSL
- Drupal 6
- Pressflow
- Drupal 7 & 8
- in Core
SLIDE 37
SLIDE 38
ESI (Edge Side Includes)
SLIDE 39
SLIDE 40
SLIDE 41
SLIDE 43 ESI
<esi:include src="http://www.osec.ch/userblock" />
- Cache whole page, load only
small parts
- Varnish / Squid / Nginx (SSI)
- Drupal Module
- blocks, panel panes, context
module
SLIDE 44 Questions?
Michael Schmid michael@amazeelabs.com @schnitzel