32
Getting to 2nd Base with your Content Delivery Network Mike Brittain Engineering Architect

Getting to 2nd Base with your Content Delivery Network Mike Brittain Engineering Architect

Embed Size (px)

Citation preview

Getting to 2nd Base with your ContentDelivery Network

Mike BrittainEngineering Architect

Overview

1. Measure your performance2. Tweak your cache TTLs3. Cache dynamic objects4. Cache whole pages5. Inspect origin hits6. Use proper HTTP headers7. Use multiple CDNs8. Review CDN documentation9. Engage your vendor

Overview

20 Minutes

Overview

1. Cache dynamic objects2. Inspect origin traffic3. Cache HTML pages

Typical Setup

Typical Setup

CDN Storage

$$$

Origin Pull

CDN lingo for “reverse proxy”

Response Headers

Cache-control: max-age=3600

Last-Modified: Mon, 16 Mar …

ETag: “82c7-378-8e2a”

http://www.askapache.com/htaccess/apache-speed-etags.html

Revalidation Requests

GET /images/generated.css HTTP/1.1

Host: origin.example.com

If-Modified-Since: Mon, 16 Mar …

If-None-Match: ”82c7-378-8e2a”

HTTP/1.1 200 OK

Content-Length: 35043

... or ...

HTTP/1.1 304 Not Modified

$$$

$

Review Origin Logs

Requests URL Size

28 /images/logo.gif 2 KB

17 /images/nav_tabs.png 5 KB

4,613 /images/annual_report.ppt 16 MB

31 /images/flames.gif 13 KB

Avoid Double Paying

16 MB x 4,600 @ 0.35/GB ≈ $25 (CDN)

16 MB x 4,600 @ 0.50/GB ≈ $36 (origin)

$61

Avoid Double Paying

16 MB x 4,600 @ 0.35/GB ≈ $25 (CDN)

16 MB x 23 @ 0.50/GB ≈ $0.18 (origin)

$25- ish

Cache HTML Pages

Cache HTML Pages

Cache HTML Pages

Page built just

for Mike

Cache HTML Pages

Serve generic version to

the CDN

Use client-side logic for

personalization

Cache HTML Pages

Replace generic

sections with tailored

versions

Cookies,

JavaScript

Cache HTML PagesTrack short history of

user interactions

Fresh data only

where needed

Ajax, Cookies,

JavaScript

Cache HTML PagesUse tracking pixels for

page views

Real time data with Ajax,

or fake it

Ajax, Cookies,

JavaScript

Cache HTML Pages

Search Results,

HTML frag., Public APIs,

XML, JSON, RSS

Do you GET it?

Cache HTML Pages

Cache HTML Pages

TTLs of 3 mins to 1 hr

Psst… under 60 seconds is okay, too.

Cache HTML Pages

92%

Thank You

Slides, etc.

www.mikebrittain.com

Questions

[email protected]

Wait… You’re still here?

No, seriously… go away!

HTTP Headers

cURL, telnet, Charles, Fiddler, Firebug, etc.

CDNs Fail

Plan B Split traffic between (similar)

CDNs Origin servers Cloud storage

CDNs Fail

CDNs Fail

Amazon CloudFront: $0.17/GB*

Rackspace Cloud Files: $0.22/GB

JetS3t, Cyberduck, Transit, S3 Browser, S3Fox Plug-in, s3sync.rb, APIs, etc.

Multiple CDNs

Cost vs. Performance

Time

Views