WordPress Optimization



Similar documents
Drupal Performance Tuning

making drupal run fast

E-commerce is also about

Web Performance. Sergey Chernyshev. March '09 New York Web Standards Meetup. New York, NY. March 19 th, 2009

Accelerating Wordpress for Pagerank and Profit

Front-End Performance Testing and Optimization

MAGENTO HOSTING Progressive Server Performance Improvements

Cache All The Things

Web Performance. Lab. Bases de Dados e Aplicações Web MIEIC, FEUP 2014/15. Sérgio Nunes

The importance of Drupal Cache. Luis F. Ribeiro Ci&T Inc. 2013

HOW TO MAKE WP FLY...

AUDIT REPORT EXAMPLE

The Benefits of WordPress Specific Web Hosting. Jamii Corley, Southwest Cyberport

Website Optimization Tips for Speed

A 100k Users.. Now What?

Performance for Site Builders

Website Performance: Kyle Simpson

Simple Tips to Improve Drupal Performance: No Coding Required. By Erik Webb, Senior Technical Consultant, Acquia

Magento Performance Optimization Whitepaper

9 Tried and Tested Tips to Increase the Power of your Magento Store

Large-Scale Web Applications

Advanced performance optimizations. By Peter Elmered

Speed up your web site. Alan Seiden Consulting alanseiden.com

CloudOYE CDN USER MANUAL

Ensuring scalability and performance with Drupal as your audience grows

PHP web serving study Performance report

Nginx 1 Web Server Implementation

Loudon & Company. Better Decision-Making:! Drupal Performance

Implementing Reverse Proxy Using Squid. Prepared By Visolve Squid Team

Scalability of web applications. CSCI 470: Web Science Keith Vertanen

Layers of Caching: Key to scaling your website. Lance Albertson -- Narayan Newton

Varnish the Drupal way

79 Tips and Tricks for Magento Performance Improvement. for Magento Performance Improvement

Mobile Application Performance Report

PHP PERFORMANCE. Principles and Tools. By Kevin Schroeder Technical Consultant Zend Technologies. Copyright 2007, Zend Technologies Inc.

Performance Report for: Report generated: Friday, April 24, 2015, 7:29 AM (via API)

Magento & Zend Benchmarks Version 1.2, 1.3 (with & without Flat Catalogs)

Practical Load Balancing

The Devil is in the Details. How to Optimize Magento Hosting to Increase Online Sales

4x High Performance for Drupal. Presented by Fabian Franz. Step by Step

PHP on IBM i: What s New with Zend Server 5 for IBM i

Drupal Performance Tips and Tricks. Khalid Baheyeldin. Drupal Camp Toronto 2014

Wednesday, October 10, 12. Running a High Performance LAMP stack on a $20 Virtual Server

Web 2.0 Scalability. Issues with & tactics for allowing sites and services to survive on the Social Web

BASICS OF SCALING: LOAD BALANCERS

Improving Magento Front-End Performance

Getting Started with AWS. Hosting a Static Website

Optimizing WordPress Performance: Page Speed and Load Times. Doug Yuen

by

What Happens When A Website Crashes: A Case Study. John Bafford Senior Director, Programming Services The Bivings Group

ZingMe Practice For Building Scalable PHP Website. By Chau Nguyen Nhat Thanh ZingMe Technical Manager Web Technical - VNG

Wikimedia architecture. Mark Bergsma Wikimedia Foundation Inc.

Efficient Network Marketing - Fabien Hermenier A.M.a.a.a.C.

(An) Optimal Drupal 7 Module Configuration for Site Performance JOE PRICE

Edge80: A New Approach to High Performance Content Delivery

Content Management Software Drupal : Open Source Software to create library website

Common Server Setups For Your Web Application - Part II

Learning To Fly: How Angry Birds Reached the Heights of Store Performance

Table of Contents. Overview... 1 Introduction... 2 Common Architectures Technical Challenges with Magento ChinaNetCloud's Experience...

Web Development. How the Web Works 3/3/2015. Clients / Server

Choosing a Host. Gary binarygary.com WordCamp Jax 2016 #WCJAX

uilding a Branch Website using Wordpress

Brace for 2012 Christoph

Hacking the WordpressEcosystem

Why Web Performance Matters Open Text Web Solutions Usergroup Anwendertagung Feb Tobias Dreyschultze Tobel Online Web Consultancy

Are You Ready for the Holiday Rush?

Click to edit Master title style. Click to edit Master text styles. Hedley Aylott. CEO Summit

About Todd Bailey (Presenter)

Lecture 6 Cloud Application Development, using Google App Engine as an example

Protocolo HTTP. Web and HTTP. HTTP overview. HTTP overview

Magento Site Performance Optimization

Architecting ColdFusion For Scalability And High Availability. Ryan Stewart Platform Evangelist

CS 188/219. Scalable Internet Services Andrew Mutz October 8, 2015

Datasheet - Sitekit CMS Performance Tips

SCALABILITY. Hodicska Gergely. Web Engineering Manager as Ustream. May 7, 2012

Amazon Web Services Yu Xiao

5 Mistakes to Avoid on Your Drupal Website

1 How to Monitor Performance

Managed WordPress Hosting

Web Performance First Aid. Alan Seiden Consulting alanseiden.com

ultimo theme Update Guide Copyright Infortis All rights reserved

Deep analysis of a modern web site

The best reverse proxy around. Kristian Lyngstøl PRODUCTS CONSULTING APPLICATION MANAGEMENT IT OPERATIONS SUPPORT TRAINING

A BASELINE FOR WEB PERFORMANCE WITH PHANTOMJS

Ajax Performance Tuning and Best Practice

Low Cost, High Performance, Strong Security: Pick Any Three. Chris Palmer isec Partners

ultimo theme Update Guide Copyright Infortis All rights reserved

TABLE OF CONTENTS. I. Executive Summary II. Results Overview III. Performance Testing Methodology... 5

Comparitive Performance Report

HW9 WordPress & Google Analytics

Drupal in the Cloud. by Azhan Founder/Director S & A Solutions

Designing, Scoping, and Configuring Scalable Drupal Infrastructure. Presented by David Strauss

Installation, Configuration, and Usage

Running Nginx as Reverse Proxy server

The Eye of the Storm: Scaling the Pickens Plan website after huge media attention

Tushar Joshi Turtle Networks Ltd

Internet Content Distribution

Doug Goldberg. Vice President of Magento Solutions, ZeroLag

Presentation tier performance optimization

Getting Started with AWS. Hosting a Static Website

Transcription:

WordPress Optimization markkelnar WP Engine @renderandserve howdy@wpengine.com wpengine.com/optimizing-wordpress WordCamp Atlanta 2012

Who is this guy? Head of Technology, System Administration, database, product development at WP Engine I'm not a power-point guy, please excuse my mistakes. If I had my way, this presentation would look like this class WCATL extends presentation { protected $name; function constructor() { parent:: constructor(); $this >name = 'Word Camp Atlanta'; $this >bg_color = '#808080'; } } $p = new WCATL(); $p >scroll();

Why are you here? You want your site fast Keep readers/customers on your site Survive heavy visitor load Scale When you're on techcrunch, mashable or daringfireball, you want to survive

You are doing it wrong! But you don't know it.

Who are you? Site admin, content contributor Designer, theme developer Plugin developer Backend developer, admin, dba, etc.

What can I optimize? Hosting is about layers, but which one? Layman's term, not that techno-jargon... HTML, CSS, JS, images, web server, database, WordPress, theme, plugin, cache, minify LAMP, TTL, CDN, cache, Apache, PHP, static content, dynamic content

Where do I start? Use profiling tools to find your bottleneck WP-Tuner WPDB Profiling WPspeedometer.com Yslow webpagetest.org yougetsignal.com (reverse IP address) Command line fun: `ab -n 100 http://wpengine.com` (Apache Benchmark) `curl -I wpengine.com` (that's a dash-eye)

Content Delivery Network CDN Have another service serve your static files (jpg, js, css) from their domain Say that again? Off-load statics (jpg, png, css, js) so it doesn't load from your web server Store static files closer to end user global proximity Paths in your HTML point the browser to the CDN service: cdn.yourdomain.com/wp-content/themes/image.png Cloud cache service (CloudFlare), Amazon S3, etc

CDN Paths It's all in what your HTML tells the browser Without CDN <img src="http://markkelnar.com/wp content/uploads/family.jpg" alt="shredder" /> With CDN <img src="http://mark.some cdn service.com/wpcontent/uploads/family.jpg" alt="shredder" /> When the service mark.some-cdn-service.com needs the image, after TTL has expired, the cdn service loads (pulls) a fresh copy from markkelnar.com

Off-loading content Poor-man's CDN, serve images from Flickr Amazon S3 host entire site there, or even just statics Use external source for comments, like disqus-commentsystem Popular posts / related content metrics outbrain, nrelate

Reduce, reuse WPSmush it plugin Everytime you add an image, it does it for you. Yahoo! Smush all your existing images. Do the other fun front end developer things Minimize HTTP requests CSS sprites CSS at the top of the page, JS at the bottom Search for Yahoo performance rules Ads on your page Load them asynchronously or maybe iframe. Are your ads cache busting? Do they have to?

Load from multiple sub-domains yourdomain.com good: foo1.yourdomain.com, foo2.yourdomain.com better: foo1.otherdomain.com, foo2.otheromain2.com Difficult to do. More overhead to configure and support.

That's front end tweaks Now what? What good is a fast front end with a slow back end? What if the back end can't handle what still comes through?

Review your theme Theme know your theme. Did you buy it? Codex? Off the street? HTML - does it validate? CSS at the top, JS at the bottom (not inline) PHP - Any weird code (if it looks bad, it probably is) - weary of file_get_contents() / fgets() - base64_decode() (injected malware or unnecessarily compressed code)

Pull your data wisely What could possibly go bad here?

Keep WP up to date Why wouldn t you? Code optimizations, core changes, security

Unused plugins - deactivate plugins you don t use at all - delete plugins you don t use at all

Beware of poor performers Bad PHP code Poor use of DB calls, update/insert to DB on every page load Don't scale under load, cripple the back end Put stuff on wp-cron scheduler that pops too often. Ex: (but not limited to) - backupwordpress backwpup - broken-link-checker - dynamic-related-posts - file-commander - google-sitemap-generator - LinkMan (MyReviewPlugin Link Man) - MyRP (MyReviewPlugin) - wp-symposium-alerts

RSS feed How many requests to your blog are /feed? Are you using a service like feedburner?

Show me the cache! Let's start with plugins W3-Total-Cache, WPSuperCache Has features to do CDN path rewrites, page and object and db caching, minification, cache purging/clearing WP-Minify JS, CSS remove white space, comments sent to end user (browser)

Browser Caching What is it? HTTP Cache-Control, Expires headers, Entity Tags (ETags) Already done for me? W3-Total-Cache, WPSuperCache Gzip compression on server and uncompressed in browser

Server side caching What is it? saves bandwidth and improves performance HTTP Accelerator server reverse proxy caching behind nginx Memcached server object caching, persistent vs transients opcode: caching compiled PHP code bytecode object caching: in memory key-value storage for data, transients page caching: full caching of HTML page Tools for the job: APC, Eaccerator, Xcache, Zend Optimizer, ioncube

Web server - Move as much as possible out of Apache - Stand up Nginx in front of Apache (reverse proxy) - Don't run your PHP in Apache at all, use PHP Fast CGI, lighthttpd, etc. - Server static files from disk in Nginx - Put known redirects (301/302 in Nginx config) - Move.htaccess rules to Apache httpd.conf or better yet Nginx config. - Google Page Speed Apache module

MySQL DB - Optimize tables, clean house - PHPMyAdmin, OptimizeDB, manually - Tables, Innodb (transactional, faster for writes) vs MyISAM (can be less memory) - Master/Slave replication + HyperDB - dedicated server(s) - turn on log and investigate mysql-slow.log - database caching - mysqltuner.pl

If you're reading this, you're too geeky Server: metal server vs virtual or cloud instance OS: *nix, sun, MS Packages: compiled, package installed Hardware: CPU + cores, memory, SSD disk drives DB: MySQL, Percona,

No-Nos - Don't edit WP-core files (wp-includes, wp-admin) - Amazon EC2 not silver bullet - Beware of plugins that update database tables on every page load. Use external resources.

Q&A