Performance Analysis, things to check

Technet place of choice

The range of hardware configurations that are possible also makes it very difficult to determine how well a
server is performing. It is even more difficult without the correct data for reference. For example, to
determine whether SharePoint Products & Technologies bottlenecks are because of the lack of memory or
because of drive thrashing on the SQL Server, you need a baseline of performance-related data for

Observing Processor Queue Length

Customer sets the debug=true value in their web.config. This is sometimes useful during development (on the customer’s side); however, it can have a marked impact on the overall performance of the customer’s really does need to be turned off.

For example, we make sure that all servers that are running the Timer Service are in the same time zone and that time zone matches the one of the server, or servers, running the Central Administration Service.

if we see 10-20 occurrences of a certain event over a 1 week period, that might be cause for concern (warning) but not alarm (error). However, if we see 35 during that same 1 week period, then that is cause for alarm (error) and we need to understand why it’s happening with such frequency.

is the customer running on the minimum hardware that we require? I will tell you that a lot of times our customers are running on sub-standard hardware. That is to say, that do not meet the minimum hardware requirements for the operation of our product.

is you network driver over two (2) years old? If so, you probably need to update it to something more current. Are your Winsock providers in the proper order? If not, it could be causing problems with alert generation.

is whether there have been any modifications to the files under the SharePoint installation folders. This can possibly lead to issues with patching in the future.

Databases are identified with auto grow set to percentage. Growing a data or
transaction log file by a percentage can cause SQL Server to progressively slow down as a result of progressively larger growth increments.

Databases found that may require update statistics (2005)

DBCC CHECKDB has not been run within seven days

Fragmented indexes were found. Fragmentation exists when the logical ordering of pages in an index does not match the physical ordering of data on the disk. In addition, fragmentation can decrease performance by increasing the number of reads that are necessary to retrieve information.

An index that is more than 5 percent or less than 30 percent fragmented should be reorganized. In addition, an index that is more than 30 percent fragmented should be rebuilt. Priority in both of these processes should

SharePoint 2010 database(s) with AUTO_CREATE_STATISTICS option enabled. implements specific statistics, and no additional statistics are needed. In addition, enabling this option can result in serious blocking issues with
SharePoint 2010 databases. For these reasons, Microsoft recommends disabling this option on SharePoint 2010 databases.

Some useful tools for determining which process or user is utilizing the disk resource include Microsoft Server Performance Analyzer and Process Explorer

TempDB database Size may be too small. Creating a tempdb file that is too small or leaving the default size set to
8 MB can trigger several autogrow operations during the peak times. As a result, the tempdb file may have to expand constantly. This will affect the performance.

The SQL Server Configuration Settings: Max Degree of parallelism is set to non-optimal value

BLOB cache is not enabled or cache is stored on the system drive

Each processor has an average of 10 or more threads waiting High Health Active

High Pages/sec – More than 200 Low Risk Active

Logical disk interface is busy with a valley of less than 20 percent idle Medium Health Active

Logical disk read responsiveness is very slow with a spike of more than 25 milliseconds Medium Health Active

Logical disk write responsiveness is very slow with a spike of more than 25 milliseconds Medium Health Active

More than 10 page file reads per second on average Medium Health Active

Memory pages input per second is one of two contributors to memory pages per second. This counter displays the number of pages read from the hard disk into the page file in order to resolve hard page faults, as opposed to the number of pages removed from the page file to free up space in the page file. Typical investigation techniques include monitoring and examining additional related performance counters and examining the disk-related activities using utilities such as Process Explorer.

Physical disk interface is busy with a valley of less than 20 percent idle Medium Health Active

Physical disk queue length is greater than 2 High Health Active.  When a physical disk’s average queue length exceeds the number of spindles (this number would be one if it truly is a physical disk), there is the potential for a performance bottleneck. As a best practice, Microsoft recommends that the physical disks deployed to any server have an average queue length of no greater than one per spindle.

Physical disk read responsiveness is very slow with a spike of more than 25 milliseconds Medium Health Active.

After a logical disk’s seconds per read exceeds 25 milliseconds (0.025) there is the potential for a performance bottleneck. Microsoft recommends as a best practice that logical disk seconds per read are consistently below 25 milliseconds with averages below 15 milliseconds and spikes below 50 milliseconds.


This counter measures the percentage of time during the sample interval that the disk was idle. When a logical disk’s idle time measures below 50 percent, there is the potential for performance bottlenecks. As
a best practice, Microsoft recommends you ensure that the logical disks deployed to the servers maintain at least 50 percent idle time during production hours. Tools to assist in determining which process or user is utilizing the disk resource can include Process Explorer.

Process Explorer
How to Identify a Disk Performance Bottleneck Using the Microsoft
Server Performance Advisor (SPA) Tool
Download Details for Microsoft Service Performance Advisor (SPA)

Server is low on available memory with less than 10% available Medium Risk Active.

As a best practice, Microsoft recommends that the available memory on a system not be allowed to drop below 10
percent of the physical memory installed on the system.

Server is very low on available memory with less than 5% available High Health Active

Spike in Pages/sec of greater than 1,000 on the database server.   When a system begins paging at a rate of 1,000 pages per second, there is the potential for a performance bottleneck. As a best practice, Microsoft recommends that you ensure paging does not exceed 1,000 pages per second without appropriate justification.

Errors were detected in the crawl logs

List View Lookup Threshold is set to a value greater than 8 High Risk Active

Search index files are located on the system drive Medium Risk Active

Server has mismatching SharePoint Server 2010 version information

network link that does not meet latency and bandwidth requirements for SharePoint.

Latency must be less than 1 millisecond between all SharePoint servers and SQL Server.

Data and log files should be placed on separate drives. Placing both data and log files on the same device can cause contention for that device and result in poor performance. Placing the files on separate drives allows the I/O activity to occur at the same time for both the data and log files. Microsoft recommends separating log files, database files, backup files and tempdb files onto separate drives

Databases found that may require update statistics (2005)  This issue will fire if Auto stats update option is disabled, and if it finds one or more indexes with row modification counter exceeds 500+20% of rows.

Microsoft recommends installing antivirus software specifically designed for SharePoint Products & Technologies. This type of antivirus software scans files as they are uploaded and downloaded, preventing users from accidentally or purposefully introducing infected files into the environment. Microsoft also recommends running antivirus software on all servers, including servers running SharePoint Products & Technologies. The antivirus software should be properly configured to exclude critical files from scanning. For more information, please reference the following Knowledge Base article:

Folders may have to be excluded from antivirus scanning when you use a file-level antivirus program in Windows SharePoint Services 3.0 or in SharePoint Server 2007

Virus scanning recommendations for computers that are running
Windows Server 2008, Windows Server 2003, Windows 2000, Windows
XP, or Windows Vista
A 0-byte file may be returned when compression is enabled on a server
that is running IIS
Antivirus software may cause IIS to stop unexpectedly
Guidelines for choosing antivirus software to run on the computers that
are running SQL Server
Recommended Forefront Client Security file and folder exclusions for
Microsoft products