Powerful Google developer tools for immediate impact! (2023-24 C)
Inside Out: A Web Performance Philosophy
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