Chapter 1. Perspectives on Performance Management

Our goal in writing this book is to provide a good introduction to the Windows 2000 operating system and its hardware environment, focusing on understanding how it works from the standpoint of a performance analyst responsible for planning, configuration, and tuning. Our target audience consists of experienced performance analysts, system administrators, and developers who are already familiar with the Windows 2000 operating system environment.

Taken as a whole, Windows 2000 performance involves not just the operating system, but also the performance characteristics of various types of computer hardware, application software, and communications networks. The key operating system performance issues include understanding CPU scheduling and multiprogramming issues and the role and impact of virtual memory. Key areas of hardware include processor performance and the performance characteristics of I/O devices and other peripherals. Besides the operating system (OS), it is also important to understand how the database management system (DBMS) and transaction-monitoring software interact with both the OS and the application software and affect the performance of applications. Network transmission speeds and protocols are key determinants of communication performance. This is a lot of ground to cover in a single book, and there are many areas where our treatment of the topic is cursory at best. We have compiled a rather lengthy bibliography referencing additional readings in areas that we can discuss only briefly in the main body of this book.

Windows 2000 Evolution

Before we start to describe the way Windows 2000 works in detail, let’s summarize the evolution of Microsoft’s premier server operating system. While we try to concentrate on current NT technology (i.e., Windows 2000), this book encompasses all current NT releases from Version 3.5 onward, including current versions of NT 4.0 and Windows 2000. Each succeeding version of Windows NT incorporates significant architectural changes and improvements that affect the way the operating system functions. In many cases, these changes impact the interpretation of specific performance data counters, making the job of writing this book quite challenging.

Of necessity, the bulk of the book focuses on Windows 2000, with a secondary interest in Windows NT 4.0, as these are the releases currently available and in wide distribution. We have also had some experience running beta and prerelease versions of Windows XP. From a performance monitoring perspective, the 32-bit version of XP appears quite similar to Windows 2000. The few remaining NT 3.51 machines we stumble across are usually stable production environments running Citrix’s WinFrame multiuser software that people are not willing to upgrade.

A daunting challenge to the reader who is familiar with some of the authoritative published works on NT performance is understanding that what was once good solid advice has become obsolete due to changes in the OS between Version 3, Version 4, and Windows 2000. Keeping track of the changes in Windows NT since Version 3 and how these changes impact system performance and tuning requires a little perspective on the evolution of the NT operating system, which is, after all, a relatively new operating system. Our purpose in highlighting the major changes here is to guide the reader who may be familiar with an older version of the OS. The following table summarizes these changes.

New feature/change

Comment

Added/changed between NT 3.5 and NT 4.0

 

New diskperf -ye option

Fix to monitor Physical Disk activity in a volume set or software RAID 0/5 set correctly.

Task Manager performance tabs

Makes it easier to find and kill looping programs.

Logical and Physical Disk Avg Queue Length Counters added

The % Disk Time Counters were mistakenly identified as measuring disk utilization.

Revised Perfmon User Guide documentation

Tones down extravagant claims that Windows NT is “self-tuning.”

Symmetric (SMP) Multiprocessor Support

NT Version 3 supports only asymmetric multiprocessing. All interrupts are serviced on Processor 0. With SMPs, device driver code must be made “thread-safe.”

Common Network Device Interface Specification (NDIS) across Win9x and Windows NT

As long as network card vendors have to rewrite NIC device drivers anyway for Version 4, at least they will work on Windows 95, too.

Win32.dll

Moving user and GDI functions into the NT Executive provides better Windows than Windows.

Added/changed between NT 4.0 and Windows 2000

 

Sysmon.OCX MMC snap-in replaces Perfmon

Many Sysmon enhancements, including fonts and multiple log data formats. Some valuable features inexplicably dropped, including the Chart Export facility.

Logical and Physical Disk % Idle Time counter added

100% - Idle Time = disk utilization; mislabeled % Disk Time counters are retained.

Per Process I/O Counts added to Task Manager and Physical Disk objects

Requested by developers of analytic and simulation modeling packages. Unfortunately, the Windows 2000 counters track logical file requests, not necessarily correlated with Physical Disk activity.

New Printer Queue measurements

Job Object with resource limits introduced

Intended to provide a means for IIS to throttle runaway CGI scripts.

Windows Measurement Instrumentation

Support for the WBEM standard. Provides an infrastructure for integrated configuration, operations, and performance reporting tools. Actually first introduced in NT 4.0 with Service Pack 4, but not widely deployed.

New kernel Trace facility

Provides the ability to trace page faults, I/O requests, TCP requests, and other low-level functions without hooking the OS.

_Total instance of the Processor object supersedes counters in System object

Below Normal and Above Normal Priority Levels

Provides more choice in the Scheduler’s dynamic range.

Two choices for the duration of the time-slice quantum.

Semantics behind Win32PrioritySeparation changed again! Choose either Professional’s short time slice interval or Server’s very long interval.

Queued Spin Locks enhance SMP scalability

Queued spin locks reduce internal processor bus contention because threads do not have to execute a busy wait.

Network Monitor driver replaces Network Monitor Agent

The Network Monitor Agent placed the NIC in promiscuous mode in order to capture packets for performance analysis. The new Network Monitor driver looks only at packets processed by the networking stack.

Integrated support for Terminal Server Edition (TSE)

WinFrame was developed independently by Citrix for Version 3.51. After purchasing the rights from Citrix for version 4.0, TSE was integrated on top of existing NT 4.0 service packs. Windows 2000 Terminal Server adds a new Session object. The User object in NT 4.0 TSE is dropped to maintain consistency.

Added/changed between Windows 2000 and Windows XP

 

64-bit Windows

16 TB virtual address space.

Intel SpeedStep measurement support

Since processor MHz varies based on power source, processor time is accumulated in separate buckets.

Process Heap Counters

Set DisplayHeapPerfObject to enable.

Volume Snapshot service

Filesystem support for cache flush and hold writes.

Faster boot and application launch

Uses Logical Disk prefetching.

Writing a book on Windows 2000 performance is an interesting challenge. Many of the popular computer books featured at your local bookstore promise easy answers. There is the Computers for Dummies series, the Teach Yourself Windows 2000 in 30 Days style book, the bookshelf on Windows 2000 Server Administration that looks like it was produced and sold by the pound, and the one that promises that if you follow its expert recommendations you will never again have a problem. We do not believe that giving simple solutions is the most effective way to communicate ideas and issues relating to computer performance. We expect that readers of this book will likely find themselves in difficult situations that have no direct precedent. In those situations, you will have to fall back on the insight and knowledge of basic principles that we describe in this book.

Although we of coursedispense friendly advice from time to time, we concentrate instead on providing the information and the conceptual framework designed to help you become your own Windows 2000 performance expert.

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.