As long as there's been a Web, people have been trying to make it faster. The maturation of the Web has meant more users, more data, more features, and consequently longer waits on the Web. Improved performance has become a critical factor in determining the usability of the Web in general and of individual sites in particular. This text is about getting the best possible performance from the Web: streamlining Web content, getting optimal performance from a browser, tuning both client and server hardware, and maximizing the capacity of the network itself. It offers concrete advice for quick results - the "blunt instruments" for improving crippled performance right away. The book then shifts gears to give a conceptual background of the principles of computing performance. The latter half of the book examines each element of a Web transaction - from client to network to server - to find the weak links in the chain and show how to strengthen them. Topics covered include: Web site architecture, security, reliability, and their impact on performance; discussion of scalability of Java on multi-processor servers; Perl scripts for writing Web performance spiders that handle logins, cookies, SSL, and more; instructions on how to use Perl DBI and the open source program gunplot to generate performance graphs on the fly; and coverage of Rstat, a Unix-based open source utility for gathering performance statistics remotely. In addition, the book includes many more examples and graphs of real-world performance problems and their solutions, and has been updated for Java 2.