Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Getting Started with Web Performance
Preface
Overture: Who Should Read This Book (and Why)
Why You Should Read This Book
What We’ll Cover
What You Need to Know to Get Started
How to Read This Book
Software Tools
About the Companion Site for This Book
Notes on Terminology and References
Themes of the Work
Conventions Used in This Book
Using Code Examples
Safari® Books Online
How to Contact Us
Acknowledgments
1. What Is Web Performance?
Scope
Performance is Response Time
An Art and a Science
Doing Science Experiments on the Web
Beyond Analysis
Systems Thinking: Where Does Performance Fit In?
Systemic Qualities and the Big Picture on Performance
Manifest Qualities
Developmental Qualities
Operational Qualities
Evolutionary Qualities
Handling Performance Tradeoffs
How to Manage Tradeoffs in Design
Security v. Performance
Budgetability v. Performance
Market Velocity v. Performance
How Fast is Fast Enough?
Role of the Human in Performance
What do Fast and Slow Really Mean?
Dimensions of Web Performance
The Stochastic Web
The “Contraptionary” Nature of the Web
Factors Affecting Web Response Times
Geography
Network Location
Bandwidth and Throughput
Connection Type
Direct Connections (LAN)
802.11 Wireless (WiFi)
Cellular Networks
Hands-on: Check Your Bandwidth
Task
Using the SpeedTest Tools
What Did We Learn?
User Agents
Browsers
Mobile Applications as User Agents
Traffic Types on the Web
API Traffic
Advertising
Streaming Media Traffic
Hands On: Our First Look at Web Response Times
Tasks
Gathering Data
Generating the Report
Plotting the Data
What We Learned
2. Introducing the MPPC Model of Web Performance
Model Overview
The User Narrative Viewpoint
The HTTP Request / Response Cycle
HTTP Requests
Response Composition
Loading a Single Object: The Simplest Case
T1 - The Connection Time
T2 - The Server Duration
T3 - The Network Transport Time
T4 - The Client Processing Time
Hands On: A Single-Object Example
Working with Multiple Objects
The Multi-step MPPC Request/Response Pattern
Step One: Loading the Initial DOM Object
What is the DOM?
Step Two: Loading Intransitive Page Objects
Kinds of Hypertext Links
Step Three: Deferred Loading
Pitfalls of Deferred Loading
What Does MPPC Mean?
Summary: MPPC Model Overview
Hands On: Looking at Waterfall Diagrams
Task
Tools
Running a Test
What We Learned
3. T1 - The Connection Time
Introduction to T1 - The Connection Time
Tools Used
DNS: Internet Names and Addresses
How DNS Works
DNS and Performance
DNS and Global Server Load Balancing
Hands-on: The User Impact of DNS
Tools Required
Performing the Test
What We Learned
Finding and Solving DNS Performance Problems
Optimizing Your DNS Response Times
SYN SYN ACK - Setting Up a TCP Connection
TCP Connections and Response Times
Finding and Solving TCP Connection problems
Optimizing TCP Connection Times
Secular Cycles and Response Times
TLS, SSL, and Secure Connections
TLS, SSL, and All That
How TLS Works
HTTP vs. HTTPS
The Basic TLS Handshake
Hands-On: The TLS Handshake in Action
Task
What We Learned
TLS: Certificates & Verification
Certificate Verification
Key Length, Security, & Performance
Extended Validation
Revocation Checks: OCSP and CRL
OCSP
How Long Does an OCSP Lookup Take?
OCSP Caching
CRL
What Makes TLS Slow?
Optimizing Your TLS Response Times
Early Termination
Session Resumption
OCSP Stapling
Certificate Chain Length
TCP-Level Optimizations
Certificate (and Record) Size
TLS Compression
TLS False Start
A Word on Packet Loss
Finding and Fixing TLS-related problems
How Much Does TLS Matter for Performance?
Summing Up on T1
About the Author
Copyright
← Prev
Back
Next →
← Prev
Back
Next →