cross training for your plone deployment

29
open source nowhere to go but sixfeetup.com/dw08 Cross Training for Your Plone Deployment Plone Conference 2008 Andrew Parker 1

Upload: literrbike

Post on 26-Jun-2015

1.042 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Cross Training For Your Plone Deployment

open sourcenowhere to go but

sixfeetup.com/dw08

Cross Training for Your Plone Deployment

Plone Conference 2008Andrew Parker

1

Page 2: Cross Training For Your Plone Deployment

sixfeetup.com/dw08

NOT my brothers

2

Page 3: Cross Training For Your Plone Deployment

sixfeetup.com/dw08sixfeetup.com/dw08

Overview

3

Page 4: Cross Training For Your Plone Deployment

sixfeetup.com/dw08

A Talk on Deployment?

sixfeetup.com/dw08

4

Page 5: Cross Training For Your Plone Deployment

sixfeetup.com/dw08

Now What?• Anonymous Users:

Requests:Page Views:

• Authenticated Users:Requests: Page Views:

95.4 requests/sec6.9 views/sec

28.6 requests/sec2.4 views/sec

5

Page 6: Cross Training For Your Plone Deployment

sixfeetup.com/dw08

Parts of a Deployment

sixfeetup.com/dw08

• Hardware / OS

• Caching

• HTTP Server

• ZEO Cluster

• Maintenance

6

Page 7: Cross Training For Your Plone Deployment

sixfeetup.com/dw08

What Hardware?

sixfeetup.com/dw08

7

Page 8: Cross Training For Your Plone Deployment

sixfeetup.com/dw08

Deployment Platforms

8

Page 9: Cross Training For Your Plone Deployment

sixfeetup.com/dw08sixfeetup.com/dw08

Caching

9

Page 10: Cross Training For Your Plone Deployment

sixfeetup.com/dw08

Types of Cache

sixfeetup.com/dw08

10

Page 11: Cross Training For Your Plone Deployment

sixfeetup.com/dw08

Squid

• Configure accelerated domains

• Setup ACLs to allow purges from Zope

• Set memory and disk cache sizes

• Check refresh pattern

11

Page 12: Cross Training For Your Plone Deployment

sixfeetup.com/dw08

CacheFu

12

Page 13: Cross Training For Your Plone Deployment

sixfeetup.com/dw08

CacheFu Rules

13

Page 14: Cross Training For Your Plone Deployment

sixfeetup.com/dw08

Browser Headers• Conditional GET Requests

• Last-Modified

• If-Modified-Since

• Expires

• Cache-Control

• max-age

• E-Tags

• If-None-Matchsixfeetup.com/dw08

14

Page 15: Cross Training For Your Plone Deployment

sixfeetup.com/dw08

Firebug

sixfeetup.com/dw08

15

Page 16: Cross Training For Your Plone Deployment

sixfeetup.com/dw08

RAM Caching

16

Page 17: Cross Training For Your Plone Deployment

sixfeetup.com/dw08

URL rewriting

sixfeetup.com/dw08

17

Page 18: Cross Training For Your Plone Deployment

sixfeetup.com/dw08

Nginx

Your site.Delivered.

18

Page 19: Cross Training For Your Plone Deployment

sixfeetup.com/dw08

Apache

19

Page 20: Cross Training For Your Plone Deployment

sixfeetup.com/dw08

Squid Results• Anonymous Users:

Requests:Page Views:

• Authenticated Users:Requests: Page Views:

437.9 requests/sec31.8 views/sec

52.6 requests/sec4.1 views/sec

20

Page 21: Cross Training For Your Plone Deployment

sixfeetup.com/dw08sixfeetup.com/dw08

Load Balancing

21

Page 22: Cross Training For Your Plone Deployment

sixfeetup.com/dw08

Pound

22

Page 23: Cross Training For Your Plone Deployment

sixfeetup.com/dw08

Example

Poundctl:

0. http Listener 127.0.0.1:7080 a 0. Service active (15) 0. Backend PF_INET 127.0.0.1:8080 active (5 0.000 sec) alive 1. Backend PF_INET 127.0.0.1:8081 active (5 0.000 sec) alive 2. Backend PF_INET 127.0.0.1:8081 active (5 0.000 sec) alive

23

Page 24: Cross Training For Your Plone Deployment

sixfeetup.com/dw08sixfeetup.com/dw08sixfeetup.com/dw08

Putting it Together

24

Page 25: Cross Training For Your Plone Deployment

sixfeetup.com/dw08

zrpczrpc zrpc

HTTP HTTP HTTP

Zope Storage Server (ZSS)

Pound

HTTP

HTTP PURGE

Squid

Zope ZopeZope

PlonePlone Plone

Internet

HTTP Request

Nginx

HTTP

25

Page 26: Cross Training For Your Plone Deployment

sixfeetup.com/dw08

Squid + Pound Results• Anonymous Users:

Requests:Page Views:

• Authenticated Users:Requests: Page Views:

489.2 requests/sec35.8 views/sec

98.9 requests/sec7.3 views/sec

26

Page 27: Cross Training For Your Plone Deployment

sixfeetup.com/dw08

Other Considerations• Robots.txt

• Repozo Scripts

• ZODB Packing

• Log Rotation

sixfeetup.com/dw08

27

Page 29: Cross Training For Your Plone Deployment

sixfeetup.com/dw08

Plone Deployment Workshop

Register by October 17and save $100!

sixfeetup.com/dw08

29