25
WordPress Need for Speed Or How I Learned to Stop Worrying and Love the Traffic Load.

WordPress Need For Speed

Embed Size (px)

DESCRIPTION

WordPress Need for Speed presentation

Citation preview

Page 1: WordPress Need For Speed

WordPressNeed for SpeedOr How I Learned to Stop Worrying and Love the Traffic Load.

Page 2: WordPress Need For Speed

Who Am I?Background StoryObjectivesOn Rendering SpeedOn Processing SpeedConclusion

Page 3: WordPress Need For Speed

Pascal DeschenesTechnologist, Nu Echo Co-Founder

@pdeschenhttp://about.me/pdeschen

Page 4: WordPress Need For Speed

Background Story

Page 5: WordPress Need For Speed

When your blog meld down.

Page 6: WordPress Need For Speed

To one who waits, a moment seems a year.

,,

Page 7: WordPress Need For Speed

A 1-second delay in page load time equals 11% fewer page views.

source: Aberdeen Group

Page 8: WordPress Need For Speed

On Rendering Speed

Elapse Time for a Page to Load Completely

Page 9: WordPress Need For Speed

Play the Page Speed Game

Page 10: WordPress Need For Speed

Tracking Speed with Google Analytics

_gaq.push(['_trackPageLoadTime']);

Page 11: WordPress Need For Speed

A Web Page in a Browser is like a Jigsaw.

Page 12: WordPress Need For Speed

Optimize your image resolution

Do not rely on browser image scaling

Have a (small) favicon

On Images

Page 13: WordPress Need For Speed

On Scripts and Styles

Scripts to the Bottom

CSS to the Top

Combine & Minify

Limit Inline CSS & JavaScript

Page 14: WordPress Need For Speed

Move Static Content Away

Minimize Requests

Reduce DNS Look-Up

Limit Cookies Size

On Requests

Page 15: WordPress Need For Speed

CDN Stands for Content Delivery Network not Canada.

Page 16: WordPress Need For Speed

On Processing Speed

Elapse Time to Serve a Page

Page 17: WordPress Need For Speed

All Web Servers Aren't Equals

siege -c 250 http://blog.foo.barab -q -n 2500 -c 250 http://blog.foo.bar

Page 18: WordPress Need For Speed

Add Expire Headers

Compress Content

Minimize Redirect

Workers are your Friends

How may I serve you?

Page 19: WordPress Need For Speed

WordPress Caching Plugins

source: tutorial9.net

Page 20: WordPress Need For Speed

HTTP Accelerators: Proxy and Cache

source: Varnish Software

Page 21: WordPress Need For Speed

Rolling Your Own With nginx#compressgzip_buffers 32 8k;gzip on;gzip_types text/html application/javascript text/javascript text/css text/xml application/atom+xml application/xml;

#caching relatedproxy_cache_path /var/lib/nginx/cache levels=1:2 keys_zone=staticfilecache:180m max_size=500m;

proxy_temp_path /var/lib/nginx/proxy;proxy_connect_timeout 30;proxy_read_timeout 120;proxy_send_timeout 120;proxy_cache_key "$scheme://$host$request_uri";

Page 22: WordPress Need For Speed

Rolling Your Own With nginxupstream wordpress { server 127.0.0.1:81 weight=1 fail_timeout=120s;}server { listen 80; server_name blog.foo.bar; proxy_cache_valid 200 20m; access_log /var/log/httpd/nginx-access.log combined;

# for debugging, log cache hit or miss. log_format up_head '[$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_x_forwarded_for" "$upstream_cache_status"'; access_log /var/log/nginx/blog.foo.bar-access.log up_head;

proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

#unless specified, activate the caching set $do_not_cache 0;

Page 23: WordPress Need For Speed

Rolling Your Own With nginxlocation / { # If logged in, don't cache. if ($http_cookie ~* "comment_author_ | wordpress_(?!test_cookie) | wp-postpass_" ) { set $do_not_cache 1; } proxy_cache_key "$scheme://$host$request_uri $do_not_cache"; proxy_cache staticfilecache; proxy_pass http://wordpress;}location ~* wp\-.*\.php|wp\-admin { proxy_pass http://wordpress;}location ~* \.(jpg|png|gif|jpeg|css|js|mp3|swf|pdf)$ { proxy_cache_valid 200 120m; expires 864000; proxy_pass http://wordpress; proxy_cache staticfilecache;}location ~* \/[^\/]+\/(feed|\.xml)\/? { proxy_cache_valid 200 45m; ...}

Page 24: WordPress Need For Speed

Virtual WordPress Hosting

server_name www.blog.bar; location / { proxy_pass http://wordpress/www.blog.bar; ... }

server_name www.blog.foo; location / { proxy_pass http://wordpress/www.blog.foo; ... }

Page 25: WordPress Need For Speed

Questions?

blog.rassemblr.com/tag/wordcampmtl

@pdeschen