Site Search

Main Content

I Made a Map of the Internet - And What It Can Teach Us About Speeding Up Websites (Workshop)

About the Talk

June 22, 2010 9:45 AM

Santa Clara, CA

Santa Clara, CA

How do we choose which part of our system to optimize? Stanford algorithms legend Donald Knuth is famously quoted as saying “Premature Optimization is the root of all evil”. And yet where is the research showing where we should optimize our sites? Steve Souders made a groundbreaking discovery at Yahoo! when he realized that the most critical, and under-examined, part of web site optimization was the front-end. However while there is lots of great performance research, we still make plenty of assumption about what to optimize.

I have made a map of everything involved in getting from your computer, via your ISP, to a web site and back to your eye balls. It’s exhaustive, but that’s the point. Where the heck should we optimize?

This talk will take the audience on a journey through the guts of the internet. They will learn:

Hidden dangers in wifi
How they really connect to their ISP
The mysteries of DNS
The hop-skip-and-jump of navigating the Internet to request a web page
Exactly how CDNs speed up getting images and other files
Some basics about page rendering and display
After we’ve taken a good hard look how the internet really works we’ll try to figure out what we can about where we should be focusing our attempts to improve performance. This will look at how we can test things like:

Remote Caches (ISP, etc)
DNS response times for users
Wifi reliability
Does latency matter?
Which parts of the browser do we really test?
Do different rendering engines matter?
Finally we are going to examine some of the existing research, both practical and experimental, that targets specific areas of the map we’ve been exploring. This may include tools technologies that the participants can apply to their sites to improve performance from old favorites like YSlow and Page Speed to new techniques like:

MHTML and iframes
HTTP pipelining
JavaScript Loading patterns
DNS prefetching
The SPDY protocol
Multi-flushing
Optimizing CSS
Google Speed Tracer
This is a technical session for intermediate -> advanced developers. The talk should be somewhat accessible to more novice developers but they may have to spend more time catching up on the material afterwards.