A look at MOSS 2007 Performance Part I – Performance Counters

Introduction

This series is intended to be a multi-part look at MOSS performance. There are many articles out there related to the performance analysis of MOSS but I wanted to attempt to compile some of that information and add some personal insight to the pool.

The scenario this is to address is to attempt the first steps in analyzing the question of "Why is my MOSS performing in a less ideal way that I would like?". We are also going to take a look at some ways in which we can proactively monitor the system with no additional tools to purchase.

Part one of this series will focus on Performance Counters.

Performance Counters

Assumption: Windows Server 2003 or higher is being utilized as the host operating system

General Counters

The following table will outline the performance counters for the base operating system that should be monitored along with thresholds and what the tolerance factor may mean if we are outside of those thresholds.

CPU

Counter

Threshold

General Recommendation

Description

Processor\% Processor Time\_Total

>80%-85% over 3 intervals

Add CPUs if utilization is consistently High

The total percentage of processor usage for a server.

System\Processor Queue Length\(N/A)

>#CPU's + 1

Add Faster CPU's

Exceeding the threshold indicates that the processors are not fast enough to process requests as they occur and that you are running out of processor power.

Processor\Interrupts\Sec

>1000

May indicate Hardware Issue

  

 
 

Memory

Counter

Threshold

General Recommendation

Description

Memory\Pages/sec\(N\A)

>200

Increase RAM

  

Memory\Pages Faults/sec\(N\A)

> (Drives x 4096)

Increase RAM

A high rate of page faults indicates a lack of physical memory.

Memory\Available Mbytes\(N\A)

<10% Available

Increase RAM

The amount of physical memory in MBs, immediately available for allocation to a process or for system use on the server.

Memory\Pool Nonpaged Bytes\(N\A)

<10%

Increase RAM

  

PagingFile\%Usage

>70%

Faster Disks/Better Controller/Add Disks/Increase RAM

Review this value in conjunction with memory—available megabytes and page faults per second—to understand paging activity on the server.

 
 

Disk

Counter

Threshold

General Recommendation

Description

PhysicalDisk\% Disk Time\DriveLetter

>80%

Controller or RAM

  

PhysicalDisk\Current Disk Queue Length\DriveLetter

>2

Faster Disks/Better Controller/Add Disks

  

LogicalDisk\%Idle Time\DriveLetter

>20%

Faster Disks/Better Controller/Add Disks

Reports the percentage of time during the sample interval that the disk was idle. If this value is very low, the logical disk is very busy.

 
 

Network

Counter

Threshold

General Recommendation

Description

Network interface\BytesTotalPer2ndInterface

>50% Avail Network Speed

Add Faster NICs/Check Switch

The rate at which bytes are sent and received over each network adapter.

 
 

ASP.NET

Counter

Threshold

General Recommendation

Description

ASP.NET\Requests per second_total

  

This is a great monitor for capacity as we will look at in a different part of this series

The rate at which bytes are sent and received over each network adapter.

 
 

MOSS WFE

Object

Counter

Threshold

Description

Web service*

Get requests per second_total or individual portal or per Windows SharePoint Portal Services site

Through ongoing monitoring, trends begin to emerge that equate get requests per second with CPU consumption.

Generally speaking, this is the rate at which clients are requesting information from the front-end Web servers.

 
 

MOSS Query Server

Object

Counter

Threshold

Description

Search

Query rate

200 per second

The number of queries posted to the server per second. Keep in mind this counter should be watched on the dedicated search servers.

Search

Succeeded queries

This counter should be used mostly for troubleshooting search problems.

The number of queries that produce successful searches; monitor this counter along with the failed queries counter when troubleshooting search problems.

Search catalogs

Number of documents

Microsoft has tested up to 5,000,000 documents.

This counter identifies the total number of documents in the catalog.

Search catalogs

Queries rate_(index names or all instances)

Indicates which indexes are most searched by users.

The number of queries posted to indexes per second; in conjunction with other performance data, this counter can help determine if your index configuration can be optimized.

Web service*

Get requests per second_total or individual portal or Windows SharePoint Portal Services site.

With ongoing monitoring, trends emerge that equate requests per second with CPU consumption.

Generally speaking, this is the rate that clients are requesting information from the front-end Web servers.

 
 

MOSS Index Server

Object

Counter

Threshold

Description

Search indexer catalogs

Number of documents

Microsoft has tested up to 5,000,000 documents.

The number of documents in the catalog

Search indexer catalogs

Index size MB

256,000 (256 GB)

The current size of index data in megabytes

 
 

I want to thank a colleague of mine, Kirk for providing much of this information that was MOSS specific

References:

English, B. (2004). Microsoft SharePoint Products and Technologies Resource Kit. New York: Microsoft P.