SharePoint Performance Monitoring

This is an AS-IS post on how to setup Performance Monitoring for SharePoint Servers.


  1. Ensure that the instructions in are followed. This will allow for the Process ID value to be included as part of the process monitor data that is being captured

To enable or to disable PIDs in process names, follow these steps:

a.  Click Start, click Run, type regedit, and then click OK.

b.  Locate and then click the following registry subkey:


c.  On the Edit menu, click New, and then click DWORD Value.

d.  Right-click New Value #1, click Rename, and then type ProcessNameFormat to name the new value.

e.  Right-click ProcessNameFormat, and then click Modify.

f.  In the Data value box, type one of the following values, and then click OK:

1: Disables PID data. This value is the default value.

2: Enables PID data.

g.  Exit Registry Editor.

Important: If you enable this feature, you may be unable to monitor process-specific information by using third-party utilities or custom-made programs.

2. The following counters will be collected on all SharePoint Servers that this is run on:

\ASP.NET v2.0.50727\*
\ASP.NET Apps v2.0.50727(*)\*
\.NET CLR Networking(*)\*
\.NET CLR Memory(*)\*
\.NET CLR Exception(*)\*
\.NET CLR Loading(*)\*
\.NET Data Provider for SqlServer(*)\*
\SharePoint Publishing Cache(*)\*
\Web Service(*)\*
\Web Service Cache\*
\SharePoint Search Archival Plugin(*)\*
\SharePoint Search Gatherer\*
\SharePoint Search Gatherer Project(*)\*
\SharePoint Search Indexer Catalogs(*)\*
\SharePoint Search Schema Plugin(*)\* 


3. Create a text file named CounterList.txt that contains the counter set detailed above.


4.  From a command line, issue the following command on the index server. You will need to change the drive letters & locationsso that they are appropriate for your environment. Substitute the domain\userid  and CompanyName in the appropriate section of the command below.  Please use the application pool service account credentials that SharePoint Timer Service is running under in order to ensure that we have access to the appropriate counters.

 Note: The asterik * will cause you to be prompted for the Domain\UserID account password.


Running the Baseline Counters all of the time is a good idea to capture historic performance of your SharePoint servers.  If you have a performance issue you can add Incident Counters to capture more data samples.  The command should resemble the following: Baseline counters.

Baseline Counters


logman create counter CompanyName_SP_Performance_Baseline -s %COMPUTERNAME% -o c:\PerfLogs\CompanyName_SP_Performance_Baseline_%COMPUTERNAME%.blg -f bin -v mmddhhmm -cf CounterList.txt -si 00:01:00 -cnf 12:00:00 -b 4/29/2009 6:00AM -u "domain\userid" *


Important:  Incident counters should only be run during performance problems and are intended for troubleshooting purposes.

Incident Counters


logman create counter CompanyName_ISP_Performance_Incident -s %COMPUTERNAME% -o c:\PerfLogs\CompanyName_SP_ Performance_Incident_%COMPUTERNAME%.blg -f bin -v mmddhhmm -cf CounterList.txt -si 00:00:05 -max 500 -u "domain\userid" *