Performance Monitoring

Performance monitoring is one of the most overlooked best practices in SharePoint Server 2007 implementations. Without monitoring, you don’t know the health of your farm and will be alerted by users, instead of the system, when an application fails. With a proper monitoring solution, you many times will be notified before a hard failure actually occurs. There are many who want to monitor their solution and just don’t know how. A very common question is, "What performance counters do I monitor, and what are the acceptable thresholds?" Unfortunately, there isn’t a single answer for most performance counters, but there is definitely a method to define them for your implementation. Some counters, such as Processor Queue Length, are very easy to determine thresholds for—it should never be more than one. Additionally, many counters you need to monitor are not specific to SharePoint Server 2007, so you should begin with monitoring your dependencies such as SQL Server, Windows Server, and network hardware. This section will give you an overview of how to baseline your system for performance. Table 23-2 is provided as a base reference of counters you want to monitor for SharePoint Server 2007.

Table 23-2. Base Performance Counters for SharePoint Server 2007

Counter

Description

Details

Total Processor Time

Use the % Processor Time counter to measure the percentage of elapsed time that the processor spends to execute a non-Idle thread.

Object: Processor

Counter: %Processor Time

Instance: _Total

Processor Privileged Time

Use the % Privileged Time counter to measure the percentage of elapsed time that the process threads spend executing code in Privileged mode.

Object: Processor

Counter: %Privileged Time

Instance: _Total

Processor User Time

Use the % User Time counter to measure the percentage of elapsed time the processor spends in User mode.

Object: Processor

Counter: % User Time

Instance: _Total

Excessive Processor Usage

It is calculated by monitoring the time that the service is inactive and subtracting that value from 100%.

Object: Processor

Counter: % Processor Time

Instance: _Total

Process – W3WP Processor Time

Measures the % of elapsed time that all process threads use the processor.

Object: Processor

Counter: %Processor Time

Instance: w3wp

Processor Queue Length

If the threshold of this rule is exceeded, it indicates that the processor is not fast enough.

Object: System

Counter: Processor Queue Length

Page Faults per second

Use the counter Page Faults/sec to measure the average number of pages faulted per second.

Object: Memory

Counter: Page Faults/sec

Available Disk Space

Use the % Free Space counter to calculate the percentage of total usable space.

Object: LogicalDisk

Counter: % Free Space _total

Disk Request Write Size

Use the Disk Write Bytes/sec counter to measure the rate at which bytes are transferred to the disk during write operations.

Object: PhysicalDisk

Counter: Disk Write Bytes/sec

Instance: _Total

Disk Request Write Count

Measures the rate of write operations on the disk.

Object: PhysicalDisk

Counter: Disk Writes/sec

Instance: _Total

Disk Usage - Disk Time

Use the % Disk Time counter to calculate the percentage of elapsed time that the selected disk drive was busy servicing read or write requests.

Object: PhysicalDisk

Counter: %Disk Time

Instance: _Total

Disk Block Read Size

Use the Avg. Disk Bytes/Read counter to measure the average number of bytes transferred from the disk during read operations.

Object: PhysicalDisk

Counter: Avg. Disk Bytes/Read

Instance: _Total

Disk Request Read Size

Measures the rate at which bytes are transferred from the disk during read operations via Disk Read Bytes/sec.

Object: PhysicalDisk

Counter: Disk Read Bytes/sec

Instance: _Total

Disk Request Read Count

Measures the rate of read operations from the disk.

Object: PhysicalDisk

Counter: Disk Reads/sec

Instance: _Total

Web Service Bytes Sent/sec

Measures the rate at which data bytes are being sent by the Web service.

Object: Web Service

Counter: Bytes Sent/sec

Instance: _Total

Web Service Current Connections

Monitors current IIS connections.

Object: Web Service

Counter: Current Connections

Instance: _Total (or per Web app)

Web Service

Use the Total Method Requests/sec counter to measure the rate at which HTTP requests are received.

Object: Web Service

Counter: Total method Requests/sec

Instance: _Total (or specific Web apps)

Web Service Bytes Received/sec

Measures the rate at which data bytes are received by the Web service.

Object: Web Service

Counter: Bytes Received/sec

Instance: _Total (or per Web app)

Web Service Connection Attempts

Measures the rate at which connections to the Web service are being attempted.

Object: Web Service

Counter: Connection Attempts/sec

Instance: _Total

W3WP Private Bytes

Measures the current size, in bytes, of memory that this process has allocated and that cannot be shared with other processes.

Object: Process

Counter: Private Bytes

Instance: w3wp

W3WP Working Set

The Working Set is the set of memory pages recently touched by the threads in the process.

Object: Process

Counter: Working Set

Instance: w3wp

Committed Memory in use

Use the % Committed Bytes In Use counter to measure the ratio of the MemoryCommitted Bytes counter to the MemoryCommit Limit counter.

Object: Memory

Counter: % Committed Bytes In Use

Available Memory

Use the Available MBytes counter to measure the amount of physical memory in MB immediately available for allocation to a process or for system use.

Object: Memory

Counter: Available MBytes

Memory Cache Bytes

Shows the sum of the MemorySystem Cache Resident Bytes, MemorySystem Driver Resident Bytes, MemorySystem Code Resident Bytes, and MemoryPool Paged Resident Bytes.

Object: Memory

Counter: Cache Bytes

.NET CLR Memory – Bytes

Use the # Bytes in all Heaps counter to sum the following four other counters: Gen 0 Heap Size, Gen 1 Heap Size, Gen 2 Heap Size, and Large Object Heap Size.

Object: .NET CLR Memory

Counter: # Bytes in all Heaps

Instance: _Global

.Net CLR Data-SQL client Failed connections

Use the SqlClient: Total # failed connects counter to count the total number of connection open attempts that have failed.

Object: .NET CLR Data

Counter: SqlClient

Instance: Total # of failed attempts

.Net CLR Data-SQL client connections

Measures the current number of active SQL connections.

Object: .NET CLR Data

Counter: SqlClient

Instance: Current # pooled and nonpooled connections

.Net CLR memory – large Objects

Displays the current size of the Large Object Heap in bytes. Objects greater than 20 KB are treated as large objects by the Garbage Collector and are directly allocated in a special heap.

Object: .NET CLR Memory

Counter: Large Object Heap size

Instance: _Global

Succeeded Search Queries

Use the Queries Succeeded counter to count the number of queries that produce successful searches.

Object: SharePoint Search Indexer Catalogs

Counter: Queries Succeeded

Instance: Search

Search Query Rate

Monitors query rate.

Object: SharePoint Search Indexer Catalogs

Counter: Queries

Instance: Search

Search – total # of Documents

Counts the total number of documents in the index.

Object: Indexing Service

Counter: Total # of documents

Cache Faults per Second

Cache activity is a reliable indicator of most application I/O operations.

Object: Memory

Counter: Cache Faults/sec

ASP.NET Requests per Second

Counts the number of requests per second.

Object: ASP.NET Apps v2.0.50727

Counter: Requests/Sec

Instance: _Total

ASP.NET Cache – Hit ratio

Use the Cache Total Hit Ratio counter to sum the ASP.NET application performance counters.

Object: ASP.NET Applications

Counter: Cache Total Hit Ratio

Instance: _Total

ASP.NET Cache Size

Counts the total number of entries within the cache (both internal and user added).

Object: ASP.NET Applications

Counter: Cache Total Entries

Instance: _Total

Memory – pages per second

Measures the rate at which pages are read from or written to disk to resolve hard page faults.

Object: Memory

Counter: Pages/sec

ASP.NET Worker Process Restart

Measures Worker Process Restarts.

Object: ASP.NET

Counter: Worker Process Restarts

Paging File

Measures the percentage of the Page File instance in use.

Object: Paging File

Counter: %Usage

Instance: _Total

W3WP Handle Count

This number is equal to the sum of the handles currently open by each thread in this process.

Object: Process

Counter: Handle Count

Instance: w3wp

Publishing Object Cache

Counts the current number of pools that are associated with the process.

Object: SharePoint Publishing Cache

Counter: Publishing cache hits/sec

Total number of ISAPI Connections

Counts the number of ISAPI connections that Windows SharePoint Services is processing simultaneously.

Object: Web Service

Counter: Current ISAPI Extension Requests

Instance: _Total

Total number of ISAPI Requests

Counts the number of ISAPI requests per second.

Object: Web Service

Counter: ISAPI Extension Request/sec

Instance: _Total

Excessive CPU Utilization

Use the % Processor Time counter to calculate the percentage of the elapsed time of all of the process threads used by the processor to execute instructions.

Object: Process

Counter: %Processor Time

Instance: _Total

The best practice when monitoring a server farm is documenting what the counters are with no user load. Using VSTS 2008 and custom counter sets, you should obtain the exact counters in Table 23-2 before you connect users to the system. This gives you a picture of your overall server health, but also provides the counter levels when your server farm is idle. Store this baseline somewhere safe in case you should need it to troubleshoot your server farm. You can then create a monitoring solution with the tool of your choice using these numbers as a baseline, but System Center Operations Manager 2007 provides complete monitoring of all counters in Table 23-2 and has baselining functionality built in. Using System Center Operations Manager 2007 with the Windows SharePoint Services 3.0 and SharePoint Server 2007 management packs will greatly simplify your monitoring. If you do not have a monitoring product at all, you can use the built-in Windows Server tool Performance Monitor, also referred to by its executable name perfmon.exe.

Perfmon.exe

Perfmon.exe provides a relatively simple way to monitor your server farm. It is very basic, is not distributed, and must keep real-time connections with farm members for performance. But it is a good starting place if you are new to monitoring. Both the Microsoft Office SharePoint Server 2007 Administrator’s Companion (Microsoft Press, 2007) and Microsoft SharePoint Products and Technologies Administrator’s Pocket Consultant (Microsoft Press, 2007) detail how to use perfmon.exe with SharePoint Server 2007. Because of the limitations of perfmon.exe, it should be limited to farm testing and very small implementations

On the Companion Media

On the CD, you will find Systems Center Operations Manager management packs for SharePoint Server 2007: Office SharePoint Server (MOSS) 2007 System Center Operations Manager 2007 MP.msi and Windows SharePoint Services 3.0 System Center Operations Manager 2007 MP.msi. You’ll also find the instructions for installation in the respective Office Word documents.

System Center Operations Manager 2007

The System Center Operations Manager 2007 product suite allows for real-time monitoring of services, event logs, trace logs, WMI (Windows Management Instrumentation), and performance counters. First, the monitoring of services and WMI allow us to know the status of services, such as Office SharePoint Server Search, and automate actions like restarting the service and notifying the appropriate support staff. Second, System Center Operations Manager 2007 gives us the ability to monitor the performance counters, event logs, and applications logs. We can then create alerts, performance monitors, baselines, and tasks based on predefined thresholds for objects. In this section, we will primarily cover using System Center Operations Manager 2007 for monitoring the health of SharePoint Server 2007, including Windows SharePoint Services 3.0. Be aware that you probably need to baseline and monitor supporting applications as well, such as SQL Server, Internet Information Services, and ForeFront Security for SharePoint, if applicable.

You can install System Center Operations Manager 2007 and create custom monitors for the previously discussed performance counters and services. In fact, many advanced administrators will prefer to pick and choose what counters and services they will monitor. But for most of us, we can load System Center Operations Manager 2007 management packs. Management packs are a pre-packaged set of event rules, performance rules, and alert rules that can use many providers including the event logs, WMI, application logs, and performance counters. The management packs for specific applications, such as SharePoint Server 2007, include pertinent rules from these providers to automate responses (also called tasks) such as service restarting, custom scripts, SMTP notifications, SNMP traps, and command-line execution. If you have not used or tested System Center Operations Manager 2007, you will be pleasantly surprised at the ability to manage all of your applications, not just SharePoint Server 2007. Likewise, you should refer to the System Center Operations Manager 2007 product documentation for technical details and importing management packs. This section does not cover the installation, configuration, or management of System Center Operations Manager 2007 or the SharePoint Products and Technologies management packs.

More Info

For a full list of available management packs, browse to the System Center Pack Catalog at http://www.microsoft.com/technet/prodtechnol/scp/catalog.aspx. The link is also available in the System Center Operations Manager 2007 Administration Actions menu.

Because SharePoint Server 2007 is a multi- tiered, distributed application, the following management packs are relevant to SharePoint Server 2007:

  • Windows SharePoint Services 3.0 Management Pack

  • SharePoint Server 2007 Management Pack

  • ForeFront Security for SharePoint Management Pack (if loaded)

  • SQL Server Management Pack

  • Web Sites and Services Management Pack

The two management packs discussed here are the Windows SharePoint Services 3.0 and SharePoint Server 2007 management packs for System Center Operations Manager 2007. At a high level, the SharePoint Products and Technologies management packs are divided into two sections: Services/Tasks and Rules/Counters. System Center Operations Manager 2007 gives you the ability to monitor relevant SharePoint Products and Technologies services, such as the SharePoint Timer service, and start or restart when the service is unavailable or stopped. Table 23-3 shows the monitored services and associated tasks included with the Windows SharePoint Services 3.0 management pack; Table 23-4 shows the monitored services and associated tasks included with the SharePoint Server 2007 management pack. If you will not use System Center Operations Manager 2007 to monitor your SharePoint Products and Technologies implementation, you should strongly consider monitoring these services manually.

Table 23-3. Monitored Services and Tasks for Windows SharePoint Services 3.0

Service/Action

Description

WSS 3.0 Server Entity State

Monitors the Windows SharePoint Services 3.0 Tracing Service

Tracing

Monitors the Windows SharePoint Services 3.0 Tracing Service (logs events to the trace logs in the 12 Hive)

Timer

Monitors the Windows SharePoint Services 3.0 timing service (also called SPTimer and OWSTimer)

Search

Monitors the Windows SharePoint Services 3.0 Search Service

IIS

Monitors IIS Web Services

SQL Server Connections

Monitors SQL Server connections

SQL Server Database Error

Monitors SQL Server Database errors

SQL Server Database Permissions

Monitors changes to SQL Server Database permissions

SQL Server Database Space

Monitors the full SQL Server Database error event log

Task

Description

Start WSS Tracing Service

Starts or Restarts the wsstracing.exe Windows service

Start WSS Timer Service

Starts or Restarts the owstimer.exe Windows services

Start WSS Search Service

Starts or Restarts Windows SharePoint Services 3.0 Search (%12 Hive%BINmssearch.exe)

Windows SharePoint Services 3.0 IIS reset

Caution: Complete IISReset (not Windows SharePoint Services 3.0 Application specific)

Table 23-4. Monitored Services and Tasks for SharePoint Server 2007

Service/Action

Description

MOSS 2007 Server Entity State

Monitors the SharePoint Server 2007 Server Entity State

SSO

Monitors the Single Sign-on Service

Load Balance

Monitors the Office Document Conversions Load Balancer Service

Launcher

Monitors the Office Document Conversions Launcher Service

Search

Monitors the Office SharePoint Server Search Services (%program files%Microsoft Office Servers12.0Binmssearch.exe)

Task

Description

SharePoint Server 2007 IIS reset

Caution: Complete IISReset – not only SharePoint Server 2007 Web applications

Start MOSS SSO service

Starts or restarts the SharePoint Server 2007 Single Sign-on Service

Start MOSS Load Balancer Service

Starts or restarts the SharePoint Server 2007 Load Balancer Services

Start MOSS Launcher Service

Starts or restarts the SharePoint Server 2007 Load Balancer Launcher Service

Start MOSS Search Service

Starts or restarts the SharePoint Server 2007 Search Service (Query and/or Index roles)

SharePoint Server 2007 Recycle Application Pool

On demand, recycles all application pools with a five-second pause in between each individual recycle

Note

The best practice is to use System Center Operations Manager 2007 to monitor your SharePoint Server 2007 environment. Doing so will ensure proper services remain in the proper state, relevant events are captured, and performance counter thresholds are within range.

You could certainly use a third-party product to monitor the above services, but the real benefit to using System Center Operations Manager 2007 for monitoring SharePoint Products and Technologies is the ability to leverage the rules for countless event IDs and performance counters. System Center Operations Manager 2007 can monitor your event logs, application logs, and performance counters and execute a task you specify, such as recycling an application pool, restarting owstimer.exe, or notifying you through e-mail. Additionally, System Center Operations Manager 2007, in conjunction with the SharePoint Products and Technologies management packs, provide robust reports as follows:

  • Alerts Report

  • Most Common Alerts Report

  • Event Analysis Report

  • Most Common Events Report

  • .NET CLR Data Performance Report

  • .NET CLR Memory Performance Report

  • ASP .NET Applications Performance Report

  • Indexing Service Performance Report

  • Logical Disk Performance Report

  • Memory Performance Report

  • MOSS Search Performance Report

  • Network Interface Performance Report

  • Paging File Performance Report

  • Physical Disk Performance Report

  • Process Performance Report

  • Processor Performance Report

  • System Performance Report

  • Web Service Performance Report

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.133.114.221