search for books and compare prices
Tables of Contents for Web Performance Tuning
Chapter/Section Title
Page #
Page Count
Preface
xi
Part I. Preliminary Considerations
The Quick and the Dead
3
16
Questions for the Browser Side
3
8
Questions for the Server Side
11
7
Key Recommendations
18
1
Web Site Architecture
19
16
Trade-offs
19
5
Elements
24
4
Example Web Site Architectures
28
3
Trends
31
1
Sample Configurations
32
2
Key Recommendations
34
1
Capacity Planning
35
18
Do the Math...
35
1
...But Trust Your Eyes More than the Math
36
1
Questions to Ask
37
8
How Much Bandwidth Do You Need?
45
3
How Fast a Server Do You Need?
48
2
How Much Memory Do You Need?
50
2
Key Recommendations
52
1
Performance Monitoring
53
47
Parameters of Performance
53
1
Latency and Throughput
53
6
Utilization
59
1
Efficiency
59
4
Monitoring Web Performance Using Perl
63
6
Automatically Generating Monitoring Scripts Using Sprocket
69
6
Using a Relational Database to Store and Retrieve Your Monitoring Data
75
1
Monitoring Machine Utilization with rstat
76
8
Monitoring Per-Process Statistics
84
3
Generating Graphs from ps Data
87
3
Monitoring Other Things
90
6
Making a System Dashboard Web Page
96
3
Key Recommendations
99
1
Load Testing
100
16
Load Test Preparation
100
2
Trade-offs with Load Testing Tools
102
1
Writing Your Own Load Testing Tools
102
8
Benchmark Specifications and Benchmark Tests
110
4
Other Resources
114
1
Key Recommendations
115
1
Performance Analysis
116
17
Using analysis.cgi to Find a Bottleneck
116
2
Snooping HTTP with Sprocket
118
2
Look at Connections
120
1
Log File Analysis
120
5
Hits per Second
125
6
A Few More Tips
131
1
Key Recommendations
132
1
Reliability
133
10
Typical Failures
133
8
Dependencies
141
1
Smoothing Outages
142
1
Key Recommendations
142
1
Security
143
5
HTTPS and SSL
143
3
Firewalls
146
1
Bastion Hosts
147
1
chroot
147
1
Key Recomendation
147
1
Case Studies
148
8
Database Table Growing Without Limit
148
1
Reverse DNS Lookups Slows Logging
148
3
Kinked Cable
151
2
Database Connection Pool Growth Limits Performance
153
2
Key Recommendation
155
1
Principles and Patterns
156
15
Principles of Performance Tuning
156
9
Patterns of Performance Improvement
165
2
Key Recommendations
167
4
Part II. Tuning in Depth
Browsers
171
17
How Browsers Work
171
4
Types of Browsers
175
4
The Perfect Browser
179
1
Browser Speed
179
1
Browser Tuning Tips
180
5
Non-Browser Web Clients
185
2
Key Recommendations
187
1
Client Operating System
188
7
Microsoft Windows
188
3
Macintosh
191
2
Unix
193
1
Key Recommendations
194
1
Client Hardware
195
10
CPU
195
2
RAM
197
1
Cache
198
1
Bus
198
1
Disk
199
1
Video
200
2
BIOS
202
2
Key Recommendations
204
1
Lines and Terminators
205
28
Forwarding and Latency
205
1
Your Modem, the Information Driveway
206
5
ISDN
211
1
Cable Modems
212
1
xDSL
213
1
Higher Capacity Lines
213
2
Intranets
215
8
Network Modeling Tools
223
1
The Internet
223
8
PTTs
231
1
Key Recommendations
232
1
Network Protocols
233
31
Power and Protocols
233
2
Factors Affecting Network Protocol Performance
235
1
The Protocols of the Web
236
27
Key Recommendations
263
1
Server Hardware
264
27
Box on a Wire
264
1
Good I/O
265
1
Multiple Busses
265
1
Fast Disks
265
1
Lots of Memory
265
1
Scalability
266
1
Network Interface Card
266
1
Bus
267
1
Memory
268
1
RAM Characteristics
268
1
CPU
269
3
Symmetric Multiprocessing (SMP)
272
18
Disk Activity and PID
290
1
Key Recommendations
290
1
Server Operating System
291
38
Unix and the Origin of the Web
291
1
Unix Flavors
292
3
System Calls Versus Library Calls
295
1
Processes and the Kernel
295
9
The Filesystem
304
7
The Windowing System
311
1
Versions and Patches
312
1
Configurable OS Parameters
312
4
Unix OS Monitoring Tools
316
4
System Call Tracers
320
1
Network Snooping Tools
321
2
How Many Connections Can My Server Handle?
323
1
How Many Processes Can My Server Handle?
324
1
How Quickly' Can My Server Fork New Processes?
325
1
Unix Versus NT as the Web Server OS
326
2
The Exokernel
328
1
Key Recommendations
328
1
Server Software
329
18
The Evolution of Web Servers
329
2
System Calls Made by a Web Server
331
2
How Servers Fail
333
1
Configuring Apache and Netscape Web Servers
334
9
Other Servers
343
2
Missing Features
345
1
Proxy Servers
345
1
Hierarchical Caches
346
1
Key Recommendations
346
1
Content
347
12
Size Matters
347
1
As Good As It Gets
348
1
Caching and Differences
348
1
HTML and Compression
348
2
Performance Tips for HTML Authors
350
4
The Document Object Model
354
1
Graphics
354
2
Audio
356
1
Video
357
1
Key Recommendations
358
1
Custom Applications
359
19
Programmers
359
1
CGI Programs
359
1
CGI Internals and Performance Problems
360
1
General CGI Tips
361
10
CGI Language-Specific Optimization Tips
371
4
Daemonize It
375
1
CGI Database Access Performance
376
1
Logging
376
1
NSAPI and ISAPI
377
1
DOM
377
1
JSP, ASP, PHP
377
1
Key Recommendations
377
1
Java
378
26
Java Will Never Be Good Enough for GUI Applications
378
1
Java Is Good Enough for the Server Side
378
1
Performance Problems Intrinsic to Java
379
4
Coding Tips
383
12
Compilers
395
1
Profile Your Code
396
1
Decompilers
397
1
OS-Level Profiling Tools
397
1
JITs
397
1
Static Compilers
398
1
Virtual Machines
399
1
Runtime Options
400
2
Java Chips
402
1
Java Benchmarks
402
1
Web Sites with Java Performance Info
403
1
Key Recommendations
403
1
Databases
404
8
Do You Really Need a Relational Database?
405
1
Performance Tips
406
3
How Many Connections Can Your Database Handle?
409
1
When the Database Is Overloaded
410
1
Analysis
411
1
Key Recommendations
411
1
Appendix. Web Performance Product Lists and Reviews
412
13
Index
425
<