Drupal High Availability High Performance Samstag, 3. November 12 - - PowerPoint PPT Presentation

drupal
SMART_READER_LITE
LIVE PREVIEW

Drupal High Availability High Performance Samstag, 3. November 12 - - PowerPoint PPT Presentation

Drupal High Availability High Performance Samstag, 3. November 12 Drupal High Availability High Performance How to sleep without the server-crash-fear Samstag, 3. November 12 High Availability Samstag, 3. November 12 High Availability


slide-1
SLIDE 1

Drupal

High Availability High Performance

Samstag, 3. November 12

slide-2
SLIDE 2

Drupal

High Availability High Performance

How to sleep without the server-crash-fear

Samstag, 3. November 12

slide-3
SLIDE 3

High Availability

Samstag, 3. November 12

slide-4
SLIDE 4

High Availability

  • no „Single Point of Failure“

Samstag, 3. November 12

slide-5
SLIDE 5

High Availability

  • no „Single Point of Failure“
  • Redundancy

Samstag, 3. November 12

slide-6
SLIDE 6

High Performance

Samstag, 3. November 12

slide-7
SLIDE 7

High Performance

  • Response times

Samstag, 3. November 12

slide-8
SLIDE 8

High Performance

  • Response times
  • Caching

Samstag, 3. November 12

slide-9
SLIDE 9

High Performance

  • Response times
  • Caching
  • HTML

Samstag, 3. November 12

slide-10
SLIDE 10

High Performance

  • Response times
  • Caching
  • HTML
  • Data (serialized)

Samstag, 3. November 12

slide-11
SLIDE 11

High Performance

  • Response times
  • Caching
  • HTML
  • Data (serialized)
  • Scalable

Samstag, 3. November 12

slide-12
SLIDE 12

High Performance

  • Response times
  • Caching
  • HTML
  • Data (serialized)
  • Scalable
  • adding easy and fast more

servers

Samstag, 3. November 12

slide-13
SLIDE 13

Scalable & Redundancy Server System

Samstag, 3. November 12

slide-14
SLIDE 14

starting position

Samstag, 3. November 12

slide-15
SLIDE 15

Goal

Varnish Varnish

Samstag, 3. November 12

slide-16
SLIDE 16

starting position

Samstag, 3. November 12

slide-17
SLIDE 17

Two Webserver

Samstag, 3. November 12

slide-18
SLIDE 18

Apache/PHP

Samstag, 3. November 12

slide-19
SLIDE 19

Apache/PHP

  • APC

Samstag, 3. November 12

slide-20
SLIDE 20

Apache/PHP

  • APC
  • precompiled

Samstag, 3. November 12

slide-21
SLIDE 21

Apache/PHP

  • APC
  • precompiled
  • keeps files in memory

Samstag, 3. November 12

slide-22
SLIDE 22

nginx?

Samstag, 3. November 12

slide-23
SLIDE 23

nginx?

  • lightweight Webserver

Samstag, 3. November 12

slide-24
SLIDE 24

nginx?

  • lightweight Webserver
  • Reverse Proxy

Samstag, 3. November 12

slide-25
SLIDE 25

nginx?

  • lightweight Webserver
  • Reverse Proxy
  • Loadbalander

Samstag, 3. November 12

slide-26
SLIDE 26

nginx?

  • lightweight Webserver
  • Reverse Proxy
  • Loadbalander
  • can be faster

Samstag, 3. November 12

slide-27
SLIDE 27

nginx?

  • lightweight Webserver
  • Reverse Proxy
  • Loadbalander
  • can be faster
  • more knowledge needed

Samstag, 3. November 12

slide-28
SLIDE 28

Two Webserver

MySQL?

Samstag, 3. November 12

slide-29
SLIDE 29

starting position

Samstag, 3. November 12

slide-30
SLIDE 30

dedicated MySQL

Samstag, 3. November 12

slide-31
SLIDE 31

second Webserver

Samstag, 3. November 12

slide-32
SLIDE 32

How to Access?

?

Samstag, 3. November 12

slide-33
SLIDE 33

Loadbalancer

Samstag, 3. November 12

slide-34
SLIDE 34

Loadbalancer

Samstag, 3. November 12

slide-35
SLIDE 35

Loadbalancer

  • passes through request

Samstag, 3. November 12

slide-36
SLIDE 36

Loadbalancer

  • passes through request
  • „Man in the middle“

Samstag, 3. November 12

slide-37
SLIDE 37

Loadbalancer

Samstag, 3. November 12

slide-38
SLIDE 38

second Loadbalancer

Samstag, 3. November 12

slide-39
SLIDE 39

second Loadbalancer

files?

Samstag, 3. November 12

slide-40
SLIDE 40

NFS

NFS

Samstag, 3. November 12

slide-41
SLIDE 41

NFS

fallback?

NFS

Samstag, 3. November 12

slide-42
SLIDE 42

GlusterFS

Samstag, 3. November 12

slide-43
SLIDE 43

GlusterFS

Samstag, 3. November 12

slide-44
SLIDE 44

GlusterFS

  • Distributed Filesystem

Samstag, 3. November 12

slide-45
SLIDE 45

GlusterFS

  • Distributed Filesystem
  • multiple Server/Clients

Samstag, 3. November 12

slide-46
SLIDE 46

GlusterFS

  • Distributed Filesystem
  • multiple Server/Clients
  • auto-heal

Samstag, 3. November 12

slide-47
SLIDE 47

GlusterFS

  • Distributed Filesystem
  • multiple Server/Clients
  • auto-heal
  • split-brain

Samstag, 3. November 12

slide-48
SLIDE 48

GlusterFS

  • Distributed Filesystem
  • multiple Server/Clients
  • auto-heal
  • split-brain
  • Not so fast

Samstag, 3. November 12

slide-49
SLIDE 49

GlusterFS

Samstag, 3. November 12

slide-50
SLIDE 50

second GlusterFS

Samstag, 3. November 12

slide-51
SLIDE 51

MySQL

fallback?

Samstag, 3. November 12

slide-52
SLIDE 52

MySQL Master/Slave

Samstag, 3. November 12

slide-53
SLIDE 53

MySQL Master/Slave

  • Master

Samstag, 3. November 12

slide-54
SLIDE 54

MySQL Master/Slave

  • Master
  • WRITE

Samstag, 3. November 12

slide-55
SLIDE 55

MySQL Master/Slave

  • Master
  • WRITE
  • Slave

Samstag, 3. November 12

slide-56
SLIDE 56

MySQL Master/Slave

  • Master
  • WRITE
  • Slave
  • READ

Samstag, 3. November 12

slide-57
SLIDE 57

MySQL Master/Slave

  • Master
  • WRITE
  • Slave
  • READ
  • Hot Spare

Samstag, 3. November 12

slide-58
SLIDE 58

MySQL Master/Slave

  • Master
  • WRITE
  • Slave
  • READ
  • Hot Spare
  • Slave becomes Master

Samstag, 3. November 12

slide-59
SLIDE 59

MySQL

Samstag, 3. November 12

slide-60
SLIDE 60

MySQL

Samstag, 3. November 12

slide-61
SLIDE 61

Memcache

memcache?

Samstag, 3. November 12

slide-62
SLIDE 62

memcache

Samstag, 3. November 12

slide-63
SLIDE 63

memcache

  • Replaces “_cache“ tables

Samstag, 3. November 12

slide-64
SLIDE 64

memcache

  • Replaces “_cache“ tables
  • Key / Value Store

Samstag, 3. November 12

slide-65
SLIDE 65

memcache

  • Replaces “_cache“ tables
  • Key / Value Store
  • Fast

Samstag, 3. November 12

slide-66
SLIDE 66

memcache

  • Replaces “_cache“ tables
  • Key / Value Store
  • Fast
  • Memory only

Samstag, 3. November 12

slide-67
SLIDE 67

memcache

  • Replaces “_cache“ tables
  • Key / Value Store
  • Fast
  • Memory only
  • own Server

Samstag, 3. November 12

slide-68
SLIDE 68

Memcache

Samstag, 3. November 12

slide-69
SLIDE 69

Varnish

Varnish Varnish

Samstag, 3. November 12

slide-70
SLIDE 70

Varnish

Samstag, 3. November 12

slide-71
SLIDE 71

Varnish

  • Reverse Proxy

Samstag, 3. November 12

slide-72
SLIDE 72

Varnish

  • Reverse Proxy
  • Hates Cookies/Sessions

Samstag, 3. November 12

slide-73
SLIDE 73

Varnish

  • Reverse Proxy
  • Hates Cookies/Sessions
  • No SSL

Samstag, 3. November 12

slide-74
SLIDE 74

Varnish

  • Reverse Proxy
  • Hates Cookies/Sessions
  • No SSL
  • Drupal 6

Samstag, 3. November 12

slide-75
SLIDE 75

Varnish

  • Reverse Proxy
  • Hates Cookies/Sessions
  • No SSL
  • Drupal 6
  • Pressflow

Samstag, 3. November 12

slide-76
SLIDE 76

Varnish

  • Reverse Proxy
  • Hates Cookies/Sessions
  • No SSL
  • Drupal 6
  • Pressflow
  • Drupal 7/8

Samstag, 3. November 12

slide-77
SLIDE 77

Varnish

  • Reverse Proxy
  • Hates Cookies/Sessions
  • No SSL
  • Drupal 6
  • Pressflow
  • Drupal 7/8
  • in Core

Samstag, 3. November 12

slide-78
SLIDE 78

tadaa!

Varnish Varnish

Samstag, 3. November 12

slide-79
SLIDE 79

Questions!

Michael Schmid michael@amazeelabs.com @schnitzel

Samstag, 3. November 12