Performance Monitoring in SharePoint 2010

What is SharePoint 2010?

SharePoint was born out of a simple idea: “Sharing Documents”. Microsoft developed family of software products called “SharePoint”, to perform features like File Sharing, Collaboration, and Web Publishing. In simple terms, SharePoint acts as the single platform to share, communicate, store, and collaborate the content, documents, and records.It is the most widely used technology for document sharing and workflow automation.

Why monitor SharePoint 2010?

Many users on the internet, extranet and intranet are very unforgiving for slow responses and you will lose customers if pages are taking longer time to load. Fast page response time is the most important aspect of each web application on Internet and intranet so SharePoint 2010 is not different. SharePoint 2010 is mostly used for document management which involves uploading and downloading large documents, videos and other content so it is very much necessary to continuously monitor and fine tune the SharePoint farm for smooth operation.


Tools used to Monitor SharePoint 2010 in this article

In this article, we will be using windows performance and WMI tools to monitor  sharePoint 2010 because they provide extensive list of performance counters for hardware and software component which helps to monitor and identify performance issues quickly.

There are number of performance counters specific to SharePoint 2010 but we will be discussing core component like Web Services, Caching, Search and Service Applications in this article.


  1. Web Services

Web services in Microsoft SharePoint 2010 are used for remote development by third-party developers. They are used to integrate SharePoint capabilities into code that runs remotely in client-side or server-side applications that run on computers where SharePoint 2010 has not been installed. The Web services provide a full range of capabilities than the managed client object model, but they do not provide the same design advantages, such as batching and exception handling.


Web service do no provide performance benefits as compared to client side managed code so it is necessary to monitor following  counters to improve and fix performance bottlenecks.


Web Services Performance Counters

Counter Description Details
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
WMI Class : Win32_PerfRawData_W3SVC_WebService
Property Name: BytesSentPersec
Web Service Current Connections Monitors current IIS connections Object: Web Service
Counter: Current Connections
Instance: _Total (or per Web app)
WMI Class : Win32_PerfRawData_W3SVC_WebService
Property Name: CurrentConnections
Web Service Bytes Received/sec Counter to measure 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)
WMI Class : Win32_PerfRawData_W3SVC_WebService
Property Name : BytesReceivedPersec
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
WMI Class: Win32_PerfRawData_W3SVC_WebService
Property Name: ConnectionAttemptsPersec

 

 

  1. Caching

Caching plays an important role in SharePoint 2010 performance; there are three types of caches that help to improve the speed of web pages to be loaded in the browser.

a.    Page Output Cache

b.    BLOB cache

c.    Object Cache


  1. Page Output Cache


The first caching option you have with SharePoint 2010 is ASP.net Output Cache. This is an in-memory cache that saves rendered ASPX pages. Using Output cache improves performance in two ways first it reduces the amount of SQL calls. Second it reduces workload on the WFE because pages do not need to be re-rendered.


  1. BLOB cache


BLOB (binary large objects) cache is one of the most important aspect in terms of performance because it provides a disk-based cache that stores files that are used by Web pages to help them load quickly in the browser, and reduces the load on the database server when it uses those files. The BLOB cache is stored directly on the hard disk drive of a front-end Web server computer. By default, the BLOB cache is off and must be enabled to use the functionality it provides. When you enable the BLOB cache on your front-end Web server, you reduce the load on the SharePoint Server 2010 database server created by read requests from Web browsers.


  1. Object cache


Object cache is the third caching option we have for SharePoint 2010. What Object cache does is stores metadata about SharePoint Server objects (like SPWeb, SPSite, SPList, etc.) on the WFEs. When a page is rendered, if there is data that needs to be retrieved through these objects, the SQL Server will not be hit. Features of SharePoint that uses Object cache are publishing, content query web part, navigation, search query box and metadata navigation. These features are specifically written to use the Object cache API instead of the SharePoint API directly.


These three types of caches are important to be configuring properly on the WFE and following is the list of performance counters which helps to troubleshoot and monitor each cache individually.


Cache Performance Counters

Counters Description Details
ASP.net Applications (Page output Cache)
Cache Total Entries The total number of entries in the cache. Object: Asp.net Applications
Counter: Cache Total Entries
Instance: _Total
WMI Class : Win32_PerfFormattedData_ASPNET_ASPNETApplications
Property Name: CacheTotalEntries
Cache Total Hits The total number of hits from the cache. Object: Asp.net Applications
Counter: Cache Total Hits
Instance: _Total
WMI Class : Win32_PerfFormattedData_ASPNET_ASPNETApplications
Property Name : CacheTotalHits
Cache Total Misses The number of failed cache requests per application. Object: Asp.net Applications
Counter: Cache Total Misses
Instance: _Total
WMI Class : Win32_PerfFormattedData_ASPNET_ASPNETApplications
Property Name : CacheTotalMisses
Output Cache Entries The total number of entries in the output cache. Object: Asp.net Applications
Counter: Output Cache Entries
Instance: _Total

WMI Class : Win32_PerfFormattedData_ASPNET_ASPNETApplications

Property Name: OutputCacheEntriesOutput Cache HitsTotal number of output cacheable

requests served from the output cacheObject: Asp.net Applications
Counter: Output Cache Hits
Instance: _Total

WMI Class : Win32_PerfFormattedData_ASPNET_ASPNETApplications

Property Name : OutputCacheHitsOutput Cache MissesThe number of failed output-cache

requests per applicationObject: Asp.net Applications
Counter: Output Cache Misses
Instance: _Total

WMI Class : Win32_PerfFormattedData_ASPNET_ASPNETApplications

Property Name: OutputCacheMissesSharePoint Disk-Based Cache (BLOB Cache)  Blob cache hit countThe

total number of hits on the Blob cacheObject: SharePoint Disk-Based Cache
Counter: Blob cache hit count
WMI Class: Win32_PerfFormattedData_MicrosoftWindowsSharePointSharePointServer_SharePointDiskBasedCache
Property Name : BlobcachehitcountBlob cache hits/sec

The hit rate on the Blob cacheObject: SharePoint Disk-Based Cache
Counter: Blob cache hits/sec
WMI Class:Win32_PerfFormattedData_MicrosoftWindowsSharePointSharePointServer_SharePointDiskBasedCache
Property Name : BlobcachehitsPersecBlob cache miss count

The total number of misses on the Blob cache.Object: SharePoint Disk-Based Cache
Counter: Blob cache miss count
Class:Win32_PerfFormattedData_MicrosoftWindowsSharePointSharePointServer_SharePointDiskBasedCache
Property Name : BlobcachemisscountTotal blob disk size

The total size that blob cache takes on diskObject: SharePoint Disk-Based Cache
Counter: Total blob disk size
WM IClass:Win32_PerfFormattedData_MicrosoftWindowsSharePointSharePointServer_SharePointDiskBasedCache
Property Name :TotalblobdisksizeTotal objects in the Blob cache

The Total number of objects in the Publishing Blob CacheObject: SharePoint Disk-Based Cache
Counter: Total objects in the Blob cache
WM Class:Win32_PerfFormattedData_MicrosoftWindowsSharePointSharePointServer_SharePointDiskBasedCache
Property Name : TotalobjectsinBlobCacheSharePoint Publishing Cache (Object Cache)  Publishing cachehit count

The total number of hits on the Publishing cacheObject: SharePoint Publishing Cache

Counter: Publishing cache hit count
Instance: _Total
WMI Class:Win32_PerfFormattedData_MicrosoftWindowsSharePointSharePointServer_SharePointPublishingCache
Property Name : PublishingcachehitcountPublishing cache hits/secThe hit rate on the Publishing

cacheObject: SharePoint Publishing Cache
Counter: Publishing cache hits/sec
Instance: _Total
WMI Class:Win32_PerfFormattedData_MicrosoftWindowsSharePointSharePointServer_SharePointPublishingCache
Property Name : PublishingcachehitsPersecPublishing cache miss count

The total number of misses on the Publishing cache.Object: SharePoint Publishing Cache
Counter: Publishing cache miss count
Instance: _Total
WMI Class:Win32_PerfFormattedData_MicrosoftWindowsSharePointSharePointServer_SharePointPublishingCache
Property Name : PublishingcachemisscountTotal objects

The Total number of objects in the Publishing cache.Object: SharePoint Publishing Cache
Counter: Total objects
Instance: _Total
WMI Class:Win32_PerfFormattedData_MicrosoftWindowsSharePointSharePointServer_SharePointPublishingCache
Property Name : Totalobjects

 

 

  1. Search

Search plays an important role in every application so SharePoint 2010 is not different. Fast and accurate search results are one of the key factors to retain customers on your site. Search is offered in different flavors:

  1. Microsoft SharePoint Foundation 2010 Search
  2. Microsoft Search Server Express
  3. Microsoft Search Server 2010
  4. Microsoft SharePoint Server 2010
  5. FAST Search Server 2010 for SharePoint


It is beyond the scope of this article to cover all these search flavors; we will only be discussing the SharePoint 2010 server search here as our scope of the article  following  list covers most important counters specific to SharePoint 2010 search.

 

SharePoint 2010 Search Counters

Counter Description Details
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 SucceededInstance: Search
WMI Class:Win32_PerfRawData_MicrosoftWindowsSharePointSharePointServer_OSSSearchIndexerPlugin
Property Name : QueriesSucceeded
Search Query Rate Monitors Query Rate Object: SharePoint Search Indexer Catalogs
Counter: QueriesInstance: Search
WMI Class:Win32_PerfRawData_MicrosoftWindowsSharePointSharePointServer_OSSSearchIndexerPlugin
Property Name : PropagationRate
Search – total # of Documents Counts the total number of documents in the Index Object: Indexing Service
Counter: Total # of documents
WMI Class:Win32_PerfRawData_MicrosoftWindowsSharePointSharePointServer_OSSSearchIndexerPlugin
Property Name : Queries

 

 

  1. Service applications

Service application is the new concept in SharePoint 2010 which implements service application (SA) model. Services on a server are stopped, started, and managed individually. Central Administration and Windows PowerShell are both used to manage services and to create service application connections between a service application and a web application. Following is the list of available service applications in SharePoint 2010


  1. Access Services

  2. Excel Services

  3. InfoPath form Services

  4. Secure Store Services

  5. Visio Services

InfoPath forms and excel services are most widely used service applications. These both service applications should be monitored because they are frequenty used features on SharePoint portal and involves huge data traffic over network and database reads/writes. We have collected some of the core performance counters in the cache perspective in order to save database hits.  

Service Applications Performance Counters

Counter Description Details
Excel Calculation Services
Active Requests Number of active requests being processed on Excel Calculation Services at sampling time Object: Excel Calculation Services
Counter: Active Requests
Class:Win32_PerfFormattedData_MicrosoftWindowsSharePointSharePointServer_ExcelCalculationServices
Property Name : ActiveRequests
Cached charts Requested/sec Number of charts that are provided from a cached image Object: Excel Calculation Services
Counter: Cached charts Requested/sec
Class:Win32_PerfFormattedData_MicrosoftWindowsSharePointSharePointServer_ExcelCalculationServices
Property Name: CachedChartsRequestedPersec
Current size of memory cache Total Size of unused items manager in Bytes Object: Excel Calculation Services
Counter: Current size of memory cache
Class:Win32_PerfFormattedData_MicrosoftWindowsSharePointSharePointServer_ExcelCalculationServices
Property Name: CurrentSizeofMemoryCache
InfoPath Forms Services 14
No of business logic assemblies in memory The number of business logic assemblies currently loaded in memory.  Administrator-approved form templates may contain zero, one, or more managed code assemblies. Object: InfoPath Forms Services 14
Counter: # of business logic assemblies in memory
WMI Class:Win32_PerfFormattedData_MicrosoftWindowsSharePointSharePointServer_InfoPathFormsServices14
Property Name: NumberBusinessLogicAssembliesinMemory
No of cached form templates The number of form templates that have been added to, and not yet expired out of, the ASP.NET object cache. Object: InfoPath Forms Services 14
Counter: # Cached Form Templates
WMI Class:Win32_PerfFormattedData_MicrosoftWindowsSharePointSharePointServer_InfoPathFormsServices14
Property Name: NumberofCachedFormTemplates
No of form templates in memory The number of form templates objects that are currently loaded in memory. Object: InfoPath Forms Services 14
Counter: # form templates in memory
WMI Class:Win32_PerfFormattedData_MicrosoftWindowsSharePointSharePointServer_InfoPathFormsServices14
Property Name: NumberofFormTemplatesinMemory
No of forms in memory The number of forms that are currently loaded in memory. Object: InfoPath Forms Services 14
Counter:# forms in memory
WMI Class:Win32_PerfFormattedData_MicrosoftWindowsSharePointSharePointServer_InfoPathFormsServices14
Property Name: NumberofFormsinMemory

 

These were the core performance counters for  sharePoint 2010 server components. We will be discussing the SharePoint 2010 built in tools for performance monitoring and troubleshooting in our next article.

You might also like