Performance baselines are an important tool for monitoring the performance of a system over time. A baseline is established by recording various aspects of a system's performance, such as processor utilisation and memory usage, which can then be used for comparison to identify performance issues and determine when a system needs to be upgraded. This can be done using Windows Performance Monitor (PerfMon), which is an MMC snap-in that allows users to monitor the performance statistics of a Windows server in real-time or over a set period. By creating a custom counter log and selecting specific performance indicators, users can establish a performance baseline that can be used to identify anomalies and troubleshoot issues.
Characteristics | Values |
---|---|
When to create a baseline | Immediately after a new system has entered production |
How often to create a baseline | At regular intervals |
Tools | Performance Monitor (PerfMon) |
Objects | Memory, Network, Paging File, Processor, etc. |
Counters | % processor time, % privileged time, % user time, interrupts/second, etc. |
Instances | Each counter can have one or more instances |
Sample interval | 15 seconds, 30 seconds, or more |
Log file type | Binary, delimited text, or streamed to an SQL database |
Log file location | Can be changed on the Log Files tab |
Log file size | Can set a maximum size or use a Binary Circular File |
Start and stop times | Can be set manually or scheduled |
What You'll Learn
Understanding the three fundamental levels of monitoring criteria: objects, counters, and instances
Performance Monitor is a tool that comes with Windows operating systems, allowing users to measure system and application performance by collecting reliable performance data. Performance Monitor can be used to monitor performance in real-time or to collect data over time.
Performance Monitor uses three fundamental levels of monitoring criteria: objects, counters, and instances. These three levels work together to provide detailed insights into system performance.
Objects are the top-most criteria and represent a set of attributes on the server that can be monitored. Common objects include Memory, Network, Paging File, and Processor.
Counters are a subset of an object. Each object will have multiple counters associated with it. For example, the Processor object may have counters such as % processor time, % privileged time, and % user time.
Instances refer to specific instances of a counter. For example, in a dual-processor system, the % processor time counter would have two instances – one for each processor (0 and 1). It is possible to monitor a specific instance of a counter or view all instances.
By understanding these three levels, users can customize their performance monitoring to capture the specific data they need. For instance, while it is possible to monitor all counters and instances for an object, this may result in collecting too much data, putting strain on the server, and making it challenging to analyze the results. Therefore, selecting relevant counters and instances is crucial for effective performance monitoring and baselining.
Understanding Monitor Types: LED vs LCD Displays
You may want to see also
Selecting the right counters for your baseline
When selecting the right counters for your baseline, it's important to consider the specific system or server you're working with, as different counters will be relevant for different roles. For example, the counters for a SQL server will differ from those for an Exchange Server.
- Processor% Processor Time: This counter tracks the percentage of time the processor spends executing non-idle threads. It is considered the primary indicator of processor activity.
- Pages/sec: This counter measures the rate at which pages are read from or written to the disk, indicating the kinds of faults that cause system-wide delays.
- PhysicalDiskAvg. Disk Queue Length: This counter shows the average number of read and write requests queued for a selected disk during a sample interval.
- PhysicalDiskAvg. Disk sec/Read and PhysicalDiskAvg. Disk sec/Write: These counters measure the average time, in seconds, for reading from or writing to a disk.
- Transaction/sec: This counter tracks the number of transactions per second at a database level.
- Batch Requests/sec: This counter measures all batches sent to the server, even those not participating in a transaction.
When establishing a baseline, it's crucial to capture the basic information about the performance of a server. Adding too many counters can put undue strain on the server and skew the baseline results. Therefore, it's recommended to only add the specific counters relevant to the system being monitored.
Adjusting Monitor Size with DisplayFusion: A Simple Guide
You may want to see also
Setting up the sample interval
The default setting for the sample interval is 15 seconds, which is usually sufficient. However, if the server is heavily utilized, you can set the sampling interval to 30 seconds or higher to reduce the impact of Performance Monitor on normal running conditions.
To set the interval, go to the General Tab and set the "Sample data every:" parameter to your desired setting, along with the corresponding units (in seconds, by default).
It's important to note that lowering the default value and sampling more often may create an excessive burden on the server. While it is generally recommended to use a 1-second sampling interval, this will take a heavier toll on the system. However, in most cases, the overhead of using a 1-second interval will not significantly impact the results.
By using a higher sampling interval, you can capture more detailed and helpful information about your system's performance. However, it's crucial to understand the impact of your monitoring activities and ensure that they do not excessively skew your results. Striking a balance between capturing detailed data and minimizing the performance impact on the server is essential.
Additionally, you can customize the type of log file and its storage location. Binary log files are typically sufficient for reviewing data in Performance Monitor, but you also have the option to use delimited text files or stream the data to an SQL database.
By carefully configuring the sample interval and log file settings, you can ensure that you collect reliable performance data without imposing unnecessary strain on your server.
Salvaging a PSU: Metering from an LCD Monitor
You may want to see also
Choosing the type of log file
However, you also have the option to use a delimited text file or stream the data to an SQL database. Delimited text files cannot be read by PerfMon, but they offer more flexibility if you need to analyse the data in other programs. Streaming to an SQL database can be useful if you want to store the data in a structured format and leverage the capabilities of a relational database for analysis.
Another option is to use a Binary Circular File. With this option, once the log file reaches the specified maximum size, PerfMon will start overwriting the oldest information to make room for new data. This ensures that your log file never exceeds the specified size and that you always have the most recent performance statistics available.
It's important to consider your specific requirements and choose the type of log file that best suits your needs. Additionally, you can set a maximum file size to prevent the log file from growing too large and consuming all the available drive space.
Choosing the Right TV: Understanding Screen Size and Measurements
You may want to see also
Configuring performance alerts
Performance Monitor (PerfMon) is a tool integrated into Windows operating systems that allows software professionals to measure system and application performance by collecting reliable performance data. It is a useful tool for diagnosing performance problems.
To create a baseline for a Windows Terminal Server, select Counter Logs under Performance Logs and Alerts. Here, you can create your own custom counter log. Right-click on Counter Logs and select New Log Settings. Name the job descriptively, including the server name and the date the baseline is being taken.
Next, set up the counters. It is advisable to only add the specific counters you wish to track, rather than adding entire objects, which can result in too much data being collected. Click the 'Add Counters' button to select specific counters and instances.
For a well-rounded baseline, the following counters are recommended:
- Avg Disk Bytes/Transfer
- Avg Disk Queue Length
- Avg Disk Sec/Transfer
- Context Switches/Sec
- Processor Queue Length
For Terminal Servers, the following counters are also useful:
Terminal Services Session
After adding the relevant counters, select the sample interval. The default is 15 seconds, but this can be increased to reduce the impact on normal running conditions.
On the Log Files tab, you can specify the type of log file and its storage location. A binary log file is usually sufficient, but there is also the option of a delimited text file or streaming the data to an SQL database.
To prevent log files from growing too large, it is advisable to set a maximum file size. Alternatively, you can use a Binary Circular File, which will overwrite the oldest information to make room for new data, ensuring the log file never exceeds the specified size.
Finally, on the Schedule tab, you can set a start and stop time/date for the PerfMon job. It is good practice to set a stop time to prevent logs from accidentally filling up the drive.
Once you have completed the above steps, you can start collecting data. It is recommended to run the server in production as usual to capture performance statistics under normal use, providing a good baseline for future comparison.
Ankle Monitor Flashing Purple: What Does It Mean?
You may want to see also
Frequently asked questions
A performance baseline is a record of a system's "average use", which can be used to identify anomalies and address them before they become issues. It is a vital part of your system documentation.
A baseline should be established immediately after a new system has entered production and should be repeated at regular intervals.
In Windows, the primary tool used to capture a baseline is Performance Monitor (PerfMon). PerfMon is an MMC snap-in that enables you to record various aspects of your system, such as processor and memory usage.
Baselines should be created at multiple intervals, including low, normal, and peak usage times. New baselines should also be generated after hardware upgrades or major software updates.