1. Willie Jackson
Senior Marketer and Engineer
W3 EDGE
Run paid support for W3 Total Cache
Performance Team Lead at W3 EDGE
Former CTO of Seth Godin's Domino Project
Inside Out: A Web Performance Philosophy
2. My story
• Corporate job: IT Consultant with Accenture
• Transitioned into freelance web design and dev
• Inherited a fast-growing blog, learned to scale
3. The case for speed has
been established. It’s not a
question of IF you should
care…
LAYING A FOUNDATION
4. Goals
• Reduce execution time
• Prevent requests from hitting the app server
• Use a persistent data store whenever possible
• Cache output for all unauthenticated users
5. Time is money
• Google: 500ms = 20% drop in traffic
• Yahoo!: 400ms = 5-9% drop in traffic
• Amazon: 100ms = 1% drop in sales
6. In any system, the greatest
performance is achieved
through component
specialization.
INSIDE OUT
7. It’s all about PHP
• WPO starts with understanding PHP
• Slowest component of the stack
• Layers of caching
- This all starts with understanding PHP: it sucks, it's slow, and we're married to it- Caching done right takes the upper bound of your server and moves it from PHP to the webserver or reverse proxy- Opcode cache: stores executed scripts in memory, reduces memory usage by up to 70%- To address, we add layers of caching and build out - database caching - opcode caching - page caching - cdn - minify/concatenation - reverse proxy
- Make less: cookie-free subdomains, CSS sprites, Data URIs- Make it smaller: gzip compression, minify, concatenation- Make it last: far-future expires, cache-control headers- Make it count: DNS lookups (reduce # of unique hostnames needed to assemble a page), avoid redirects, no 404s
- Measure: Google Page Speed, GTmetrix, WebPageTest- Analyze: P3 Plugin Performance Profiler, Google Analytics- Monitor: NewRelic
- We could make it easier by making more assumptions- Assumptions are the best way to unintended consequences at scale- These assumptions would result in small improvements for many- We're not after small improvements, we're after moving the upper limits of your site to the stratosphere