Performance Planning in an NT Environment
Gilbert Held
A growing number of sites have opted to include one
or more Windows NT
servers to the overall system mix for various reasons.
Because NT takes
a different approach to many aspects of system management,
the inclusion
of NT servers in a UNIX environment presents interesting
challenges to
UNIX system administrators. This is particularly true
with respect to
performance management, as the traditional UNIX tools
used for that
purpose are not available under NT.
In this article, I will discuss the use of Windows NT
Performance
Monitor as a mechanism to ensure that your server can
support projected
workloads. I will first provide an overview of the features
of this NT
graphics tool, as well as illustrate its operation.
Then, I will
describe how you can use Performance Monitor as a mechanism
for
tailoring your hardware platform to applications you
anticipate using.
Overview
Performance Monitor is a graphical tool built into both
Windows NT
Workstation and Windows NT Server. It provides the ability
to measure
the performance of your computer or other NT computers
connected to a
network. Performance Monitor also enables you to view
the performance of
approximately 20 system resources, which are referred
to as objects.
Each object in turn may have a group of counters that
provides unique
statistical information for an object. When the full
set of counters for
available objects are considered, Windows NT's Performance
Monitor
allows you to examine the operation of the computer,
based on several
hundred hardware and software components. Then, you
can answer such
questions as, "What is the effect of additional
cache memory upon the
ability of a server to handle more Web hits?,"
"What is the effect of
multiple ftp downloads upon processor utilization?,"
and "Is the network
connection or the hardware platform responsible for
the delays
experienced by network users?".
Besides providing a graphical tool for measuring the
performance of
local or networked computers, Performance Monitor can
generate alerts
when predefined conditions occur, generate reports,
and even initiate
the execution of a paging program to notify predefined
personnel that
their presence is requested.
It's On The Screen
The orientation of Performance Monitor is visual - that
is, the utility
assumes that, for the most part, you will be working
with it
interactively. Figure 1 illustrates the initial Performance
Monitor
screen display, with the main section of the window
used to plot
selected performance metrics once those metrics are
selected. As you
select objects and object counters, not only are they
graphed in the
window in real time, but, the values of selected objects
also will be
displayed at the bottom of the window. Thus, the row
with the box
labeled "Last" in the left portion of Figure
1 will display numeric
information concerning a selected object while the value
of the object
is being graphed. The right box labeled "Graph
Time," which has a value
of 100 in the value bar, indicates the time in seconds
it takes for the
chart to complete one display across the window. Since
graphing occurs
across the screen and then wraps back to the left and
overwrites the
previous graph, the display of the average, minimum,
and maximum values
for an object can provide valuable information without
requiring you to
watch the monitoring process for a prolonged period
of time.
Monitoring System Behavior
To select an object counter to monitor, you would choose
the Add to
Chart entry from the program's Edit menu. This action
will result in the
display of the dialog box illustrated in Figure 2.
Several selections in that dialog box deserve a degree
of elaboration.
The box labeled "Computer" enables you to
select a member computer from
a Windows NT domain or workgroup if the computer you
are using is
connected to an NT network. Thus, you can monitor the
performance of
your computer as well as other NT computers connected
to a common
network.
The box labeled "Object" represents individual
processes, different
types of memory, and physical devices whose values can
be charted. In
actuality, a set of counters exists for each object,
which requires you
to select a counter associated with the selected object.
In Figure 2,
the Available Bytes counter is shown being selected.
Since many computers can have multiple processors and
multiple disk
drives, the box labeled "Instance" is used
to select a specific physical
object when multiple objects exist. Some objects, such
as memory, do not
have instances because they are shared resources.
To facilitate recognizing the display of object counters
as they are
graphed, you can associate a color, width, and style
to each counter.
Because of the large number of counters that are supported
by
Performance Monitor, the Explain button can also be
used to generate a
description of a selected counter. This is shown in
the lower portion of
Figure 2, in which the definition for the Available
Bytes counter was
displayed after the button labeled Explain was clicked.
Once you
complete your selection process, click on the Add button
and Performance
Monitor will chart your selection.
Figure 3 illustrates the charting of two object counters,
available
bytes and percent processor time. Note that a wide width
was selected
for the percent processor time counter to make it easy
to differentiate
from the graph associated with the available bytes counter.
Also note
that by clicking on the available bytes counter at the
bottom of Figure 3,
the numeric values associated with that counter are
displayed. Thus,
during the monitoring period, available memory in bytes
ranged from a
minimum of 10.46 Mb to a maximum of approximately 10.9
Mb, with an
average of 10.46 Mb available.
If you look at the thin line in Figure 3 that represents
available
bytes, you will note some significant changes over the
approximate
100-second graph time. Those changes reflect the activity
of several
applications being started and then completing during
the time span
represented by the graph.
Staying Alert With Alert
An interesting aspect of Performance Monitor is its
alert capability.
Similar to a network management program, Performance
Monitor includes
the ability to define counter values which trigger an
alert when the
predefined value is reached. The actual alert will be
displayed in the
program's alert log; however, you can also associate
a program with an
alert so that program will be executed when the alert
condition occurs.
This enables you, for example, to have a pager program
notify your
technician that his or her presence is requested in
the Web room.
The assignment of alerts is also performed through the
Edit menu,
requiring the selection of the "Add to Alert"
entry from that menu. The
result of that action is the generation of the dialog
box labeled "Add
to Alert," which is shown in Exhibit 4. In this
example, the percent
processor time counter was selected and an alert condition
was specified
when the percent processor time exceeded 50. Note that
a program could
be associated with the alert to execute the first time
the alert occurs
or every time the alert occurs. The "First Time"
option may be
preferable when paging employees, because certain counter
values can
significantly fluctuate, resulting in repeated annoying
beeps.
Recognizing the old adage that the "proof of the
pudding is in the
eating," I executed several programs to obtain
a percent processor time
alert. Figure 5 illustrates the Performance Monitor
alert log with a
single entry indicating the date and time of the alert,
as well as the
value of the counter. Note that a default alert interval
of 5 seconds
serves as a barrier to the generation of multiple alerts
over a short
period of time.
Performance Testing
The installation of application software on a server
usually involves
unknown territory with respect to performance. Fortunately,
Performance
Monitor provides you with a tool you can use to examine
the performance
of your computer under different loading conditions
before moving the
computer into a production environment. For example,
assume your company
is developing an SQL database server and expects a certain
query rate
once the computer is placed online. Before putting the
computer into
production, it would probably be a good idea to examine
the percent
processor time counter while initiating several queries
to the server.
Doing so might indicate the need to replace a Pentium
uniprocessor with
a multiprocessor, to replace a lower clock rate Pentium
with a higher
clock rate processor, or perhaps even to migrate to
a MIPS or DEC Alpha
based NT platform.
Extrapolation Issues
In many situations, it may not be feasible nor practical
to initiate a
benchmark that mimics a full production environment.
For example,
attempting to replicate an expected 5,000 hits per hour
on a popular Web
server might be beyond the capability of a group of
communications
specialists. In such situations, you should consider
initiating a
reasonably sized benchmark and extrapolating the results.
Although
extrapolation can be a godsend to situations where it
is beyond your
capability to replicate an expected workload, by itself,
extrapolation
can be dangerous. This is because the extrapolation
of certain counter
values are not linear. Instead, certain counter values
may follow an
exponential curve as usage increases. Although it is
extremely
difficult, if not impossible, to obtain precise results
when forced to
use extrapolation, you can minimize the probability
of inaccurate
results by incorporating a reasonable margin for error
into the
extrapolation process. For example, assume you noted
that the generation
of five queries in close proximity of one another by
time resulted in a
10% processor time value. Although you might be tempted
to extrapolate
and consider the processor capable of supporting up
to 50 queries, that
would more than likely provide an erroneous result since
a workload
versus percent processor time is not linear.
To obtain an estimate of the nonlinear relationship,
you might consider
generating three queries, then seven queries, and then
observing the
value of the percent processor time for each situation.
Doing so might
provide an indication of the general nonlinear relationship
that allows
you to obtain a more realistic extrapolation. Additionally,
since a few
points are rarely sufficient to obtain a viable plot,
you should
consider stopping your extrapolation process when it
reaches a 60 to 70
percentile range. Most exponential relationships may
initially commence
as a linear to near linear relationship up to about
a 60 to 75
percentile range and then rapidly increase beyond that
range
exponentially. Thus, stopping your extrapolation prior
to the point
where many relationships increase exponentially should
provide a
realistic extrapolation that indicates a level of service
your computer
can provide. Through the use of Performance Monitor
you can obtain
information necessary to predict the level of service
a computer can
provide. Thus, this tool can reduce uncertainty as well
as alleviate
performance-related problems.
Conclusions
Although NT's Performance Monitor can be of considerable
assistance for
determining a level of performance under different loading
conditions,
alert you to predefined conditions, generate logs and
reports, it is not
all encompassing. For those of us who like to know why
as well as when,
NT's alert capability needs further work. NT's Performance
Monitor does
not capture and make available a snapshot of key system
variables when a
predefined condition occurs. Although many times you
may be able to use
a trial-and-error approach to determine the cause of
an alert, doing so
can be time-consuming. Additionally, there is no way
currently available
to integrate the results of this tool with output from
other performance
management tools in a heterogeneous environment. Performance
Monitor,
similar to most Microsoft systems, assumes a homogeneous
NT environment.
Although Performance Monitor may not provide all the
information many
SAs require, it does come free with Windows NT.
About the author
Gilbert Held is an author and lecturer on computer-related
topics. Some
of Gil's recent books include Ethernet Networks 2ed.,
LAN Performance:
Issues and Answers, and Protecting LAN Resources, each
published by John
Wiley & Sons. Gil can be reached by email at 235-8068@mcimail.com.
|