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.
Assumption: Windows Server 2003 or higher is being utilized as the host operating system
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.
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.
May indicate Hardware Issue
> (Drives x 4096)
A high rate of page faults indicates a lack of physical memory.
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)
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.
PhysicalDisk\% Disk Time\DriveLetter
Controller or RAM
PhysicalDisk\Current Disk Queue Length\DriveLetter
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.
>50% Avail Network Speed
Add Faster NICs/Check Switch
The rate at which bytes are sent and received over each network adapter.
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
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
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.
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.
Number of documents
Microsoft has tested up to 5,000,000 documents.
This counter identifies the total number of documents in the catalog.
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.
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
Search indexer catalogs
The number of documents in the catalog
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
English, B. (2004). Microsoft SharePoint Products and Technologies Resource Kit. New York: Microsoft P.