Active Directory utilizes many different
types of server resources in order to function properly. For example,
it uses memory to increase the speed of accessing data, CPU time to
process information, and network resources to communicate with clients
and Active Directory domain controllers. Additionally, it uses disk
space for storing the Active Directory data store itself and the Global
Catalog (GC).
The types and amount of system resources consumed by
Active Directory are based on many factors. Some of the more obvious
ones include the size of the Active Directory data store and how many
users are supported in the environment. Other factors include the
replication topology and the domain architecture.
So how do all of these Active Directory requirements
impact the server overall? Although the answer isn't always simple to
determine, Performance Monitor is usually the right tool for the job.
In the following sections, we'll look at how you can use Windows Server
2008's Performance tool to monitor and optimize the performance of
Active Directory.
1. Monitoring Domain Controller Performance
When it comes to performance, domain controllers
have the same basic resource requirements as the other machines in your
environment. The major areas to monitor for computers include the
following:
Processor (CPU) time
Memory
Disk I/O (Input/Output)
Disk space
Network utilization
When you're deciding to monitor performance, you
should carefully determine which statistics will be most useful. For
example, if you're measuring the performance of a database server, CPU
time and memory may be the most important. However, some applications
may have high disk I/O and network requirements. Choosing what to
monitor can be difficult because so many different options are
available. Many times it just takes experience and trial and error
using various performance objects to learn exactly how best to monitor
things.
Table 1 describes some common System Monitor counters and performance objects you might want to choose.
Table 1. Useful Counters for Monitoring Domain Controller Performance
Performance Object | Counter | Notes |
---|
Memory | Available MB | Displays the number of megabytes of physical memory (RAM) available for use by processes. |
Memory | Pages/Sec | Indicates
the number of pages of memory that must be read from or written to disk
per second. A high number may indicate that more memory is needed. |
Network Interface | Bytes Total/Sec | Measures the total number of bytes sent to or received by the specified network interface card. |
Network Interface | Packets Received Errors | Specifies
the number of received network packets that contained errors. A high
number may indicate problems with the network connection. |
Network Segment | % Net Utilization | Specifies the percentage of total network resources being consumed. A high value may indicate network congestion. |
Paging File | % Usage | Indicates
the amount of the Windows virtual memory file (paging file) in use. If
this is a large number, the machine may benefit from a RAM upgrade. |
Physical Disk | Disk Reads/Sec Disk Writes/Sec | Indicates the amount of disk activity on the server. |
Physical Disk | Avg. Disk Queue Length | Indicates
the number of disk read or write requests that are waiting to access
the disk. If this value is high, disk I/O could potentially be a
bottleneck. |
Processor | % Processor Time | Indicates
the overall CPU load on the server. High values generally indicate
processor-intensive tasks. In machines with multiple processors, you
can monitor each processor individually, or you can view a total value. |
Server | Bytes Total/Sec | Specifies
the number of bytes sent by the Server service on the local machine. A
high value usually indicates that the server is responsible for
fulfilling many outbound data requests (such as a file/print server). |
Server | Server Sessions | Indicates the number of users who may be accessing the server. |
System | Processor Queue Length | Specifies
the number of threads that are awaiting CPU time. A high number might
indicate that a reduction in available CPU resources is creating a
potential bottleneck. |
System | Processes | Indicates the number of processes currently running on the system. |
Web Service | Bytes Total/Sec | Indicates
the number of bytes of data that have been transmitted to or from the
local web service. This option is only available if IIS is installed
and the web server is running. |
|
Keep in mind that this is not by any means
a complete list of the items of interest—it's just a good guideline for
some of the more common items that you may want to include. The key to
determining what to monitor is to first understand the demands imposed
by applications or services and then make appropriate choices. When
monitored and interpreted properly, these performance values can be
extremely useful in providing insight into overall system performance.