How This Book Is Organized

The first part of this book goes over topics of general interest to anyone running a web site, including quick and simple performance boosts, estimating what hardware and software you need for a given load and level of performance, common measures of web site performance, case studies of some web sites, and principles of performance tuning.

The chain of events

Figure 1. The chain of events

The structure of the second part of book is modeled on what actually happens when the user of a web browser requests an HTML page from a web server. We’ll follow an HTML request from client to network to server to CGI to database (see Figure P-1). We’ll also cover what happens when a Java applet is downloaded from the server and started in the browser. From the browser’s point of view, after the request is sent, the answer magically appears on the network. From the network’s point of view, the answer magically appears at the connection to the server, and so on. We’ll trace the process back one stage at a time to point out performance issues along the way and to eliminate the unknown. We’ll also give tips for finding out which side of each interface is slower so that you can figure out where the bottleneck is and how to bring the performance of that section into line with the rest of your web site.

Part I

Chapter 1 describes crude but often effective measures to increase your site’s performance when you just don’t have time to analyze your system and tune it the “right” way.

Chapter 2 helps you make decisions about what kind of hardware and software you’ll need to allow your site to perform well and scale for the future.

Chapter 3 describes web performance benchmarks and why they may be unreliable indicators of real-world performance.

Chapter 4 gives some examples of performance problems and solutions, and describes major commercial web sites, including what hardware and software they use.

Chapter 5 describes some general principles to keep in mind when thinking about the performance of your web site.

Part II

Chapter 6 tells you what’s going on in your browser and how to help it along, especially when it seems to be hanging.

Chapter 7 gives tips on the differences between the various OSs and how these affect browser performance.

Chapter 8 describes what the bottlenecks are on the client hardware and what you can do about them.

Chapter 9 describes the hardware of the Internet. There’s not a lot you can do about hardware that belongs to someone else, but you can at least influence the parts of the Internet you use. If you’re running your own intranet, you can modify many parameters to tune performance.

Chapter 10 describes the protocols at the core of the Web and gives you tips on how the protocols interact and how to get them to play nicely together.

Chapter 11 describes issues constraining the server, such as disk bottlenecks.

Chapter 12 gives tuning hints for the typical Unix web server.

Chapter 13 discusses the free and commercial HTTP server software available.

Chapter 14 goes over the various kinds of data you return to the user and the performance implications of each.

Chapter 15 gives you tips and tricks for reducing the amount of time spent in CGI processes.

Chapter 16 goes over some issues in optimizing your Java applications.

Chapter 17 describes the performance and cost of various database systems.

Part III

Appendix A contains Netscape’s own advice for tuning their web server.

Appendix B written by one of the authors of Apache, discusses performance issues for the Apache web server.

Appendix C gives detailed Solaris TCP advice from Jens-S. Vöckler.

Get Web Performance Tuning now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.