Previous Section
 < Day Day Up > 
Next Section


Chapter 6: System Performance and Network Analysis

In the last chapter we began a discussion about monitoring and troubleshooting SMS using status messages and log files. In this chapter we’ll round out that discussion by looking at some additional tools that can be used to assist SMS administrators as they monitor the performance of their systems and networks. We’ll start by briefly reviewing the Windows System Monitor snap-in in the Performance console and defining the SMS performance objects that are added during SMS setup. We’ll explore how to use Network Trace to determine the status of our site systems. Finally, we’ll review how to use the Network Monitor utility to monitor network performance.

Using System Monitor with SMS 2003

In my experience, the Windows System Monitor tends to be an underappreciated utility. This is generally because administrators really haven’t taken the time to learn how to use it effectively. With a product such as Microsoft SMS 2003, which requires a significant amount of resources to function efficiently, the System Monitor can be one of the most effective tools at your disposal to identify server resource usage and load. I’d like to approach this discussion, therefore, with two objectives. The first thing I want to do is reintroduce you to the System Monitor tool and ensure that you understand how to navigate it. My second objective is to identify some System Monitor objects and counters that can be of specific use when monitoring resource usage and load on your site systems.

Using System Monitor

Perhaps one of the more important tasks involved in troubleshooting problems on your server, whether it’s any Microsoft Windows server or an SMS Site System, is to spot potential problem sources and develop and analyze trends before the problems materialize. Two basic steps are involved in achieving this kind of analysis—baseline creation and real-time tracking. Always create a baseline chart or log of so-called “normal” activity on your server. In our case, this should include the objects and counters specific to SMS 2003 server activity. When you’re analyzing performance, you can create real-time charts using the same objects and counters as you used for your baseline chart and then compare it to the baseline to determine how server performance has been affected.

Here are some basic suggestions on how to create and use System Monitor charts. As I refer to a System Monitor object and one of its counters, I will use the following syntax: Object:Counter. For example, the Processor object has several counters that you can chart, one of which is the % Processor Time. I would refer to this object and counter set as Processor:% Processor Time.

Over 20 different System Monitor objects come with Windows by default. These facilitate the monitoring of basic system resources such as memory, processor, disk, and network. In fact, these are the four areas that you’ll want to monitor on any given Windows server, especially your SMS servers. In addition to these, other objects with their corresponding counters are added when other applications are installed—for example, SMS 2003 or Microsoft SQL Server 2000. These represent additional items to monitor that can give you more information about what might be causing a specific resource situation.

Tip 

Monitoring objects alone with no other object data against which to reference is an exercise in futility for the administrator because you can’t obtain any useful or specific information. For example, if the Processor: % Processor Time value is consistently higher than 80 percent, you might conclude that the processor might be overutilized. However, you have no information as to what might be overutilizing the processor. Add the Process: % Processor Time object for suspected processes, and you now have connected data upon which to begin your analysis.

Baselines are also important in determining when a given system is being “resource-challenged.” It should seem obvious, but bears repeating, that unless you know what “normal” resource utilization is like on any given system, you can’t begin to analyze problems or bottlenecks, develop trends, or implement load balancing across systems. Let's begin our review by creating a chart.

Creating a System Monitor Chart

To create a system monitor chart, complete the following steps:

  1. Start the Performance console from the Administrative Tools group and then select the System Monitor node.

  2. Click the Add button (the “plus” sign) from the chart window tool bar to display the Add Counters dialog box shown in Figure 6.1.

    Click To expand
    Figure 6.1: Add Counters dialog box.

  3. Confirm the system you’re monitoring in the Select Counters From Computer drop-down list box or choose Use Local Computer Counters if you’re monitoring the local computer.

    Tip 

    Since running the System Monitor on a Windows server requires additional resources in and of itself, it’s recommended that you remotely monitor your systems from your workstation rather than at the actual system in question.

  4. Select the Object, Counter, and an appropriate Instance if necessary, and then click Add. If you’re unsure of a counter’s purpose or function, select it and click Explain to display a brief description at the bottom of the dialog box.

  5. Repeat step 4 for each object:counter combination you wish to track. Then click Close.

  6. Specify the desired color, scale, width, and style for your chart lines by selecting an object:counter in the legend at the bottom of the graph, right-clicking it and selecting Properties to display the System Monitor Properties dialog box, as shown in Figure 6.2.

    Click To expand
    Figure 6.2: System Monitor Properties dialog box.

Figure 6.3 shows a representative chart. Three objects are being monitored—Processor: % Processor Time, Process: % Processor Time for the SMS Executive instance (smsexec), and Memory: Pages/sec. After I created the chart, I switched back to my SMS Administrator Console and updated the Collection memberships. You can see on the chart at what point I did so by the peaks recorded for each object.

Click To expand
Figure 6.3: A simple chart that monitors three object:counter values.
Tip 

As more objects are monitored in a chart, the busier the chart becomes. You can facilitate the reading of chart lines by turning on a highlight feature. With the chart open, press Ctrl+H. Now when you select a line on the chart, it will display with a heavy white highlight making it easier to read. Press Ctrl+H again to turn off the highlight feature.

SMS 2003 performance, like most Windows systems, tends to revolve around a specific set of system resources that you can monitor and analyze with the help of System Monitor. These resources include processor usage, disk I/O, physical memory, and network. Table 6.1 outlines the more useful objects and counters to use when tracking and analyzing SMS Site System server performance using System Monitor.

Table 6.1: System Monitor objects

Object:Counter

Description

Instance

Threshold Suggestions

Memory:Committed Bytes

This represents the amount of virtual memory that has been committed for use for paging RAM.

N/A

This value should be less than the amount of physical RAM. The higher the value, the more likely that the system is experiencing a high level of paging and thrashing.

Memory:Page Reads/ sec

This represents the frequency that data had to be read from the page file back into RAM to resolve page faults.

N/A

A value less than 5 generally represents acceptable performance. Values over 5 might indicate a need for more RAM.

Network Interface: Packets Received/ second

This represents the total number of network packets received on this network interface.

Each network card

This value should remain relatively consistent and reflect average network traffic being generated. Prolonged increases in this number might indicate that a process or server on the network segment is generating additional traffic and using potentially more bandwidth.

Network Interface: Bytes Received/ second

This represents the number of bytes received per second on this network interface.

Each network card

This value should remain relatively consistent and reflect average network traffic being generated. Prolonged increases in this value may indicate that a process or server on the network segment is generating additional traffic and using potentially more bandwidth.

Physical Disk:% Disk Time

This represents the amount of time the disk is engaged in servicing read/write requests.

Each physical disk

Levels less than or equal to 80 percent generally represent acceptable system performance.

Physical Disk:Current Disk Queue Length

This represents the number of read/ write requests currently waiting to be processed on the physical disk.

Each physical disk

Subtract from this value the number of spindles on the disks. For example, a RAID device would have two or more spindles. The resulting value should be less than 2.

Process:% Processor Time

This represents the percentage of time spent by the processor(s) executing threads for the process selected.

_Total, or for each process currently running.

Use with Processor:% Processor Time to determine which SMS process in particular is utilizing processor time, and to what extent.

Processor:% Processor Time

This represents the percentage of time spent by the processor or processors execut- ing nonidle threads.

_Total, or each installed processor

Levels less than or equal to 80 percent generally represent acceptable system performance.

SQL Server:Cache Manager:Cache Hit Ratio

This represents how often SQL Server requests could be resolved from the SQL Server cache rather than having to query the database directly.

N/A

This value should be high— 98 percent or greater, which indicates efficient and responsive processing of SQL queries.

System:Processor Queue Length

This represents the number of threads waiting to be processed.

N/A

There should generally be no more than two requests waiting to be processed. Use this object while also monitoring the SMS Executive Thread States.

Thread:Context Switches/sec

This represents the number of context switched between threads, such as one thread requesting information from another or yielding to a higher priority thread.

_Total/_Total

The lower the value, the better.

These and other System Monitor objects and counters are meant to be used together to determine overall system performance as well as to track down problem processes and potential resource bottlenecks.

As I’ve said earlier, you can’t perform effective problem or trend analysis of a system if you don’t have statistics relating to so-called “normal” performance of that system. To get this data, you should create and save chart information during periods of “normal” and peak performance. This gives you the baseline data you need to begin with. You can create these baselines by saving them as System Monitor logs.

Creating a System Monitor Log

To create a System Monitor log, complete the following steps:

  1. Start the Performance console from the Administrative Tools group.

  2. Expand Performance Logs And Alerts in the console tree and select Counter Logs.

  3. Right-click Counter Logs and choose New Log Settings to display the New Log Settings dialog box shown in Figure 6.4.


    Figure 6.4: The New Log Settings Dialog box.

  4. Enter a name for your log file and then click OK to display the log Properties dialog box shown in Figure 6.5.

  5. Use the Add button to add objects and counters to the log just as you did in the section entitled “Creating a System Monitor Chart” earlier in this chapter.

    Click To expand
    Figure 6.5: The log Properties dialog box for the SiteServer1 log.

  6. In the Log Files tab shown in Figure 6.6, select a location to store the log file, a file name, file type, and size limit.

    Click To expand
    Figure 6.6: The Log Files tab settings.

  7. Use the settings in the Schedule tab, shown in Figure 6.7, to determine when System Monitor should begin to write information to the log, when it should stop, and whether another log file or command option should run.

    Click To expand
    Figure 6.7: The Schedule Tab settings.

  8. Click OK to schedule the log.

Viewing a Log File

After the log has run, you can view the associated data in the performance window by selecting System Monitor in the console tree and clicking the View Log File Data button (the disk drive icon). Navigate to the location of the log file you created, select it, and choose Open to display the collected data in a static chart, as shown in Figure 6.8.

Click To expand
Figure 6.8: Static chart from a log file.

SMS 2003 Specific Objects and Counters

When SMS 2003 is installed, Setup adds a set of SMS-specific objects and counters to the System Monitor. You can use these to assess performance levels of your SMS site system. Table 6.2 outlines these objects and some of their more useful counters for you.

Table 6.2: SMS-specific System Monitor counters

Object

Counter

Description

SMS Discovery Data Manager

Total DDRs Processed

The total number of Discovery Data Records (DDRs) processed by the Discovery Data Manager during the current session. This number should generally be high.

SMS Executive Thread States

Running Thread Count

When using the _Total instance, this indicates the total number of SMS threads currently running. By scrolling through the instances, you can assess thread count on a thread-by-thread basis. You can also monitor sleeping threads—blocked by Yield()— and yielding threads—ready to run but not allowed due to a need to limit running threads.

SMS In-Memory Queues

Total Objects Dequeued

This represents the total number of objects added to the queue by a specific component since the component last started. You can monitor numbers for each component by selecting it in the instance list.

SMS Inventory Data Loader

Total MIFs Processed

This represents the total number of inventory records processed by the Inventory Data Loader during the current session. You can also monitor the number of Management Information Format (MIF) files processed per minute and the number of bad MIF files processed.

SMS Software Inventory Processor

Total SINVs Processed

This represents the total number of software inventory records processed by the Software Inventory Processor during the current session. You can also monitor the number of software inventory records processed per minute and the number of bad records processed.

SMS Standard Sender

Sending Thread Count

Average Bytes/sec

This represents the number of threads currently sending to a destination. You can monitor the total number or monitor on a site-by-site basis by selecting the appropriate instance.

This represents the average throughput of the sender. This number, generally, should be high. You can also monitor total bytes attempted, failed, and sent to establish baselines for the sender.

SMS Status Messages

Processed/sec

This represents the number of status messages that the Status Message Manager has processed per second. Depending on the instance selected, you can monitor the total number of status messages processed or break it down between those processed from the In Memory Queue and from the Status Manager’s Inbox.

Some of these objects are informational, providing additional data for you to help you understand how a component is working. They can all by and large assist you in establishing how resources are being utilized on your SMS servers. Remember, the idea here is to use these SMS specific objects and counters along with the traditional objects and counters used to monitor processor, memory, disk, and network performance to establish a baseline of normal activity on your SMS servers and then use that baseline to help you determine when performance is outside the norm and when it becomes unacceptable.

Note 

Disk performance object counters are not enabled by default on Windows systems. This is to reduce the number of resources monitored and the overhead needed to monitor them. If you create a chart using disk objects such as Logical Disk and Physical Disk, no data will be created until you enable disk counters. To do this, enter the following command at a Windows command prompt: diskperf -y. You’ll need to restart the system in question before the disk counters are enabled. Enter diskperf -n to disable the disk counters when you’re finished, again remembering to restart your system for the change to take effect.

More Info 

System Monitor contains additional features and options. For a more complete discussion of System Monitor, refer to the online Help files included with Windows. Also, see Chapter 9, “Capacity Planning for SMS,” in the Microsoft Systems Management Server 2003 Concepts, Planning, and Installation Guide included as part of the SMS 2003 documentation, for a complete list of SMS objects and counters and for a thorough discussion of performance-related issues to consider when planning your SMS site.



Previous Section
 < Day Day Up > 
Next Section