UKUUG home


(the UK's Unix & Open Systems User Group)






Book Discounts

Other Discounts

Mailing lists






Web Performance Tuning (2nd edition) Patrick Killelea
Published by O'Reilly and Associates
480 pages
£ 31.95
Published: 4th April 2002
reviewed by Joel Smith
   in the September 2002 issue (pdf), (html)

The second edition of this book has been ``significantly expanded'' to include:

New chapters on web site architecture, security, and reliability, as well as their impact on performance.

Detailed discussion of the scalability of Java on multiprocessor servers.

Perl scripts for writing web performance spiders that handle logins, cookies, SSL, and more.

Detailed instructions on how to use the Perl DBI and the open source program gnuplot to generate performance graphs on the fly.

Coverage of rstat, a Unix-based open source utility for gathering performance statistics remotely.

O'Reilly won their excellent reputation through books like this one. It is focused on its topic, clearly written and thankfully assumes a reasonable level of knowledge about operating systems, networking and the operation of the internet. Unlike many other books, Patrick Killelea will quite happily refer readers to other sources if they need further information on such topics. Consequently there is no need to wade through yet another explanation of Class C address ranges, or how to use ftp.

The book starts off with a series of questions which are useful to track down common performance problems, together with quick tips to improve a site's performance. The rest of first section covers performance monitoring and analysis in much more depth and covers such issues as the trade off between performance and security, as well as providing useful scripts for collecting performance data and load testing your site.

There is a heavy reliance on subheadings which are either descriptive or short questions and statements. These give the book quite a fast pace and have the added advantage of being extremely useful when scanning through a chapter. Killelea continually brings the focus of the book back to real world examples and how the different factors will affect the user's experience at the browser. It is important to monitor the actual web performance, and not just the machine-level load.

The second part of the book, ``Tuning in Depth'', covers all layers of the browsing experience from the browser through the server through Java applications to underlying database systems and examines ways to improve the performance of each layer. Although this is a revised second edition, it is in this section where the age of the book becomes very obvious (the first edition was written in October 1998). I doubt whether anyone will be caught by the UART buffer overruns caused by modems running faster than the serial ports can deal with. If anyone is still running on such old hardware (which was old even in 1998), the chances are that they are already aware of the issues and the solutions. Similarly, the issue of 56k modems not being compatible with the modems of ISPs is probably redundant these days.

The Server Operating System chapter quotes a 1999 survey of internet host operating systems. The age of this survey makes the results fairly meaningless now, but even at that time, the survey only covered slightly over a million hosts. I would dispute the relevance of drawing conclusions from such a survey even if it was current. All it does is give the impression that the book has dated.

Clearly there have been attempts to update the book. Mac OS X is briefly mentioned, but at the same time there is discussion of the problems of 68K code emulation. Since the PowerPC has been the basis of the Macintosh platform since 1994, this seems very dated. Mac OS X is based on Unix, but by mentioning it in two lines whilst leaving all mention of utilities and applications for the platform based around old OS 9 versions gives the (probably correct) impression that the two lines were added in order to have at least mentioned the new operating system. Windows 2000 (never mind Windows XP) does not even get that much of a mention. If you run a Microsoft environment, do not look to this book for advice on tuning your system.

Although there are a lot of useful suggestions for improving the performance of Java based server-side applications, I suspect that anyone seriously interested in this aspect of performance tuning would be better advised to turn towards the wealth of offerings specialising in Java. The same is true of the section on databases. Seven pages is never going to do more than provide a brief overview of the topic, and to be fair, you are pointed towards sources specialising in this topic.

This book still scores highly on the sections which are general in their scope, particularly the new chapters which have been written for this edition. The more specific sections feel dated, and are likely to further age extremely quickly. Overall the book is still a good source for advice on identifying performance bottlenecks and suggesting ways to tune the infrastructure to eliminate them.

Back to reviews list

Tel: 01763 273 475
Fax: 01763 273 255
Web: Webmaster
Queries: Ask Here
Join UKUUG Today!

UKUUG Secretariat
More information

Page last modified 03 Apr 2007
Copyright © 1995-2011 UKUUG Ltd.