Preface

The book you hold in your hands originally arose from need. Professionally, we felt the need to answer both basic and not-so-basic questions about the performance of Intel-based computer systems running various versions of the Microsoft Windows 2000 operating system, including both Windows NT and Windows XP. We expect that most readers of this book are seeking answers to common questions about computer and operating system performance out of similar personal or professional curiosity. This book, in fact, evolved from a seminar intended to address such questions that one of the authors developed and taught over a number of years.

The material in the book is the result of research performed over the last five years on successive versions of the Windows NT operating system, beginning with Version 3.5 and continuing to the present day. (As this book was going to press, we were experimenting with early versions of Windows XP. As best we can currently determine, almost all of the information provided here regarding Windows 2000 performance can also be applied to the 32-bit version of Windows XP.) Much of the material here is original, derived from our observations and analysis of running systems, some of which may contradict official documentation and the writings and recommendations of other authorities. Rest assured that we carefully reviewed any findings reported here that run counter to the received wisdom.

While we strive to make the discussion here definitive, there are necessarily many places where our conclusions are tentative and subject to modification should new information arise. We expect readers to be willing to challenge our conclusions in the face of strong empirical evidence to the contrary, and urge you to communicate to us (via the publisher) when you discover errors of commission or omission, for which we assume full responsibility. If you observe behavior on one of your Windows 2000 machines that seems to contradict what we say in the book, please share those observations with us. With your help, we should be able to produce a subsequent version of this book that is even more authoritative.

Our research for the book began with all the standard sources of information about the Windows 2000 operating system. We frequently cite official documentation included in the operating system help files. We also refer to the extensive reference material provided in the Windows 2000 Resource Kit. David Solomon and Mark Russinovich’s Inside Windows 2000, published by Microsoft Press, was another valuable source of inside information. The Windows 2000 platform System Development Kit (SDK) and Device Driver Development Kit (DDK) documentation, along with Microsoft Developer Network (MSDN) KnowledgeBase entries and other technical articles, also proved useful from time to time. Intel processor hardware documentation (available at http://www.intel.com) was helpful as well, particularly in writing Chapter 4 and Chapter 5. At many points in the text, we cite other reference material, including various academic journals and several excellent books. From time to time, we also mention worthy magazine articles and informative white papers published by various vendors. This book contains a complete bibliography.

Originally, we intended this book to serve as an advanced text, picking up where Russ Blake’s outstanding Optimizing Windows NT left off. Unfortunately, Blake’s book is currently out of print and woefully obsolete. Blake led a team of developers who implemented a performance monitoring API for the initial version of Windows NT 3.1, when the OS first became available in 1992. Russ’s book also documented using Performance Monitor, the all-purpose performance monitoring application the team developed. We acknowledge a tremendous debt to Russ, Bob Watson, and other members of that team. Writing when he did, Blake had little opportunity to observe real-world Windows NT environments. Consequently, almost all the examples he analyzes are based on artificial workloads generated by an application called Performance Probe, which he also developed. (The Performance Probe program is no longer available in the Windows 2000 Resource Kit; it is available in earlier versions of the NT 3.5 and 4.0 Resource Kits.)

While we also experiment in places with artificial workloads running under controlled conditions, we were fortunate to dive into Windows NT some years after it first became available. That allowed us to observe and measure a large number of real-world Windows NT and Windows 2000 machine environments. One advantage of real-world examples and case studies is that they are more likely to resemble the environments that you encounter. We should caution you, however, that many of the examples we chose to write about reflect extreme circumstances where the behavior we are trying to illustrate is quite pronounced. However, even when the systems you are observing do not evidence similar exaggerated symptoms, you should still be able to apply the general principles illustrated.

Our focus is on explaining how Windows 2000 and various hardware components associated with it work, how to tell when the performance of some application running under Windows 2000 is not optimal, and what you can do about it. The presentation is oriented toward practical problem-solving, with an emphasis on understanding and interpreting performance measurement data. Many realistic examples of performance problems are described and discussed.

Intended Audience

We have tried to aim this book at a variety of computer systems professionals, from system administrators who have mastered the basics of installing and maintaining Windows 2000 servers and workstations, to developers who are trying to build high-performance applications for this platform, to performance management and capacity planning professionals with experience on other platforms. Although we presume no specific background or prior level of training for our readers, our experience teaching this material suggests that this is not a book for beginners. If you find the material at hand too challenging, we recommend reading a good book on Windows 2000 operating system internals or on basic operating system principles first. We try to pick up the discussion precisely where most other official documentation and published sources leave off. This includes the course material associated with obtaining MCSE certification, which provides a very limited introduction to this topic.

Computer performance remains a core topic of interest to experienced programmers, database administrators, network specialists, and system administrators. We wrote this book for professionals who seek to understand this topic in the context of Windows 2000 and the hardware environment it supports. At a minimum, you should have a working knowledge of Windows 2000. We recommend that you have read and are familiar with the section on performance in the Windows 2000 Professional Resource Kit, which introduces the topic and documents the basic tools. For best results, you should have ready access to a computer running Windows 2000 Professional or Server so that you can refer frequently to a live system while you are reading, and put the abstract concepts we discuss into practice.

We understand that many people will buy this book because they hope it will assist them in solving some specific Windows 2000 performance problem they are experiencing. We hope so, too. Please understand, though, that for all but the simplest applications, there may be many possible solutions. While we do try to provide specific and detailed answers to Frequently Asked Questions, our approach to problem diagnosis is more theoretical and general than the many books that promise that this sort of understanding is easily acquired. It is possible that we have chosen to illustrate a discussion of some topic of immediate interest with an example that looks remarkably similar to a problem that you currently face. We all get lucky from time to time.

Get Windows 2000 Performance Guide 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.