-
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
- Title:
- Web Performance Tuning, Second Edition
- By:
- Patrick Killelea
- Publisher:
- O'Reilly Media
- Formats:
-
- Safari Books Online
- Print Release:
- March 2002
- Pages:
- 480
- Print ISBN:
- 978-0-596-00172-8
- | ISBN 10:
- 0-596-00172-X
Our look is the result of reader comments, our own experimentation, and feedback from distribution channels. Distinctive covers complement our distinctive approach to technical topics, breathing personality and life into potentially dry subjects. The animal on the cover of Web Performance Tuning, Second Edition is a sword-billed hummingbird. There are over 300 species of hummingbird, all found only in the New World. All of these species are easily identifiable by their long, tubular bills and iridescent feathers. The iridescence is a refraction effect that can be seen only when light is shining on the feathers at certain angles. Hummingbirds range in size from the bee hummingbird, which, measuring 2 inches long and weighing less than an ounce, is the smallest of all birds, to the great hummingbird, which measures about 8.5 inches long.
Hummingbirds are so named because of the humming noise made by their rapidly moving wings. On average, hummingbirds flap their wings 50 times a second; some species can flap as many as 200 times per second. The wings are flexible at the shoulder and, unlike most birds, they are propelled on the upstroke as well as the downstroke. Because of this flexibility, hummingbirds can hover, fly right or left, backward, and upside down. Most hummingbirds have tiny feet that are used only for perching, never for walking. Hummingbirds will fly to travel even a few inches.
Hummingbirds expend a great deal of energy, and they need to feed every 10 minutes or so. They feed on nectar, for sugar, and small insects, for protein. Their long, tapered bills enable them to retrieve nectar from even the deepest flower. Pollen accumulates on the head and neck of hummingbirds while they gather nectar. They then transfer this pollen to other flowers and thus play an important role in plant reproduction.
Hummingbirds appear frequently in Native American legends and mythology, often as representatives of the sun. According to some folk beliefs, they can bring love. Since Europeans first spotted these beautiful, colorful little birds, they have often appeared in the art and literature of the Old World, as well. Mary Brady was the production editor and proofreader for Web Performance Tuning, Second Edition. Sarah Jane Shangraw was the copyeditor. Darren Kelly and Claire Cloutier provided quality control. David Chu and Julie Flanagan provided production support. Lucie Haskins wrote the index.
Edie Freedman designed the cover of this book, using a 19th-century engraving from the Dover Pictorial Archive. Emma Colby produced the cover layout with QuarkXPress 4.1, using Adobe's ITC Garamond font.
Melanie Wang designed the interior layout, based on a series design by David Futato. Neil Walls converted the files from Microsoft Word to FrameMaker 5.5.6 using tools created by Mike Sierra. The text font is Linotype Birka; the heading font is Adobe Myriad Condensed; and the code font is LucasFont's TheSans Mono Condensed. The illustrations that appear in the book were produced by Robert Romano and Jessamyn Read using Macromedia FreeHand 9 and Adobe Photoshop 6. The tip and warning icons were drawn by Christopher Bing. This colophon was written by Clairemarie Fisher O'Leary.
