My Account
View Cart
Home
Community
Books & Videos
Safari Books Online
Conferences
Training
School of Technology
About
Complete List
Bestsellers
New Releases
Rough Cuts
Upcoming Titles
Ebooks
By Publisher
By Series
Out of Print
Order Info
Search
Search Tips
Tell a friend
Web Performance Tuning, Second Edition
Speeding up the Web
By
Patrick Killelea
March 2002
Pages: 480
|
Table of Contents
|
Index
|
Sample Chapter
|
Colophon
Table of Contents
Preliminary Considerations
Chapter 1
The Quick and the Dead
Questions for the Browser Side
Questions for the Server Side
Key Recommendations
Chapter 2
Web Site Architecture
Trade-offs
Elements
Example Web Site Architectures
Trends
Sample Configurations
Key Recommendations
Chapter 3
Capacity Planning
Do the Math . . .
. . . But Trust Your Eyes More than the Math
Questions to Ask
How Much Bandwidth Do You Need?
How Fast a Server Do You Need?
How Much Memory Do You Need?
Key Recommendations
Chapter 4
Performance Monitoring
Parameters of Performance
Latency and Throughput
Utilization
Efficiency
Monitoring Web Performance Using Perl
Automatically Generating Monitoring Scripts Using Sprocket
Using a Relational Database to Store and Retrieve Your Monitoring Data
Monitoring Machine Utilization with rstat
Monitoring Per-Process Statistics
Generating Graphs from ps Data
Monitoring Other Things
Making a System Dashboard Web Page
Key Recommendations
Chapter 5
Load Testing
Load Test Preparation
Trade-offs with Load Testing Tools
Writing Your Own Load Testing Tools
Benchmark Specifications and Benchmark Tests
Other Resources
Key Recommendations
Chapter 6
Performance Analysis
Using analysis.cgi to Find a Bottleneck
Snooping HTTP with Sprocket
Look at Connections
Log File Analysis
Hits per Second
A Few More Tips
Key Recommendations
Chapter 7
Reliability
Typical Failures
Dependencies
Smoothing Outages
Key Recommendations
Chapter 8
Security
HTTPS and SSL
Firewalls
Bastion Hosts
chroot
Key Recomendation
Chapter 9
Case Studies
Database Table Growing Without Limit
Reverse DNS Lookups Slows Logging
Kinked Cable
Database Connection Pool Growth Limits Performance
Key Recommendation
Chapter 10
Principles and Patterns
Principles of Performance Tuning
Patterns of Performance Improvement
Key Recommendations
Tuning in Depth
Chapter 11
Browsers
How Browsers Work
Types of Browsers
The Perfect Browser
Browser Speed
Browser Tuning Tips
Non-Browser Web Clients
Key Recommendations
Chapter 12
Client Operating System
Microsoft Windows
Macintosh
Unix
Key Recommendations
Chapter 13
Client Hardware
CPU
RAM
Cache
Bus
Disk
Video
BIOS
Key Recommendations
Chapter 14
Lines and Terminators
Forwarding and Latency
Your Modem, the Information Driveway
ISDN
Cable Modems
xDSL
Higher Capacity Lines
Intranets
Network Modeling Tools
The Internet
PTTs
Key Recommendations
Chapter 15
Network Protocols
Power and Protocols
Factors Affecting Network Protocol Performance
The Protocols of the Web
Key Recommendations
Chapter 16
Server Hardware
Box on a Wire
Good I/O
Multiple Busses
Fast Disks
Lots of Memory
Scalability
Network Interface Card
Bus
Memory
RAM Characteristics
CPU
Symmetric Multiprocessing (SMP)
Disk Activity and PID
Key Recommendations
Chapter 17
Server Operating System
Unix and the Origin of the Web
Unix Flavors
System Calls Versus Library Calls
Processes and the Kernel
The Filesystem
The Windowing System
Versions and Patches
Configurable OS Parameters
Unix OS Monitoring Tools
System Call Tracers
Network Snooping Tools
How Many Connections Can My Server Handle?
How Many Processes Can My Server Handle?
How Quickly Can My Server Fork New Processes?
Unix Versus NT as the Web Server OS
The Exokernel
Key Recommendations
Chapter 18
Server Software
The Evolution of Web Servers
System Calls Made by a Web Server
How Servers Fail
Configuring Apache and Netscape Web Servers
Other Servers
Missing Features
Proxy Servers
Hierarchical Caches
Key Recommendations
Chapter 19
Content
Size Matters
As Good As It Gets
Caching and Differences
HTML and Compression
Performance Tips for HTML Authors
The Document Object Model
Graphics
Audio
Video
Key Recommendations
Chapter 20
Custom Applications
Programmers
CGI Programs
CGI Internals and Performance Problems
General CGI Tips
CGI Language-Specific Optimization Tips
Daemonize It
CGI Database Access Performance
Logging
NSAPI and ISAPI
DOM
JSP, ASP, PHP
Key Recommendations
Chapter 21
Java
Java Will Never Be Good Enough for GUI Applications
Java Is Good Enough for the Server Side
Performance Problems Intrinsic to Java
Coding Tips
Compilers
Profile Your Code
Decompilers
OS-Level Profiling Tools
JITs
Static Compilers
Virtual Machines
Runtime Options
Java Chips
Java Benchmarks
Web Sites with Java Performance Info
Key Recommendations
Chapter 22
Databases
Do You Really Need a Relational Database?
Performance Tips
How Many Connections Can Your Database Handle?
When the Database Is Overloaded
Analysis
Key Recommendations
Appendix A
Web Performance Product Lists and Reviews
Problems with Commercial Tools
Monitoring Tools
Load Generation Tools
Preloaders
Network Optimizers
IP Traffic Management Products
Content Compressors
Hybrid Development Tools/Databases
Java Profilers and Optimizers
Caching Services
Professional Services
Load Balancers
Modeling Tools
Colophon
Return to
Web Performance Tuning