Monitoring performance regularly, organizations can recognize trends as they develop and prevent performance problems. This will also help to decide when to upgrade the hardware and whether upgrades are improving the server’s performance.
General Server Performance Counters
Following is a list of general performance counters that should be monitored for all SharePoint Portal Server based servers.
|
Performance Object |
Counter |
Threshold |
Description |
|
Processor |
Percent processor time_total |
80 to 85 percent averaged over three intervals |
The total percentage of processor usage for a server. |
|
Network interface |
Bytes total per second_network interface |
50 percent of the available network interface bandwidth — for example, a 100-MB network interface running at 50,000 KB per second |
The rate at which bytes are sent and received over each network adapter. |
|
Logical disk |
Percent idle time_ (drives C:,D:, and so on) |
20 percent over idle time_. |
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. |
|
Paging file |
Percent usage |
Above 70 percent |
Review this value in conjunction with memory — available megabytes and page faults per second — to understand paging activity on the server. |
|
Memory |
Available MBs |
128 MB — assuming 2 GB of RAM as prescribed on servers |
The amount of physical memory, in MBs, immediately available for allocation to a process or for system use on the server. |
|
Memory |
Page faults per second |
20 |
A high rate of page faults indicates a lack of physical memory. |
|
System |
Processor queue length |
The number of CPUs + 1 |
Exceeding the threshold indicates that the processors are not fast. |
|
ASP.NET applications |
Requests per second_total |
Through ongoing monitoring, trends begin to emerge that equate requests per second with CPU consumption |
The number of requests executed per second; this roughly equates to the number of HTTP pages per second. |
Table 1: General Windows Server 2003 Performance Counters
SharePoint Portal Server Counters
A SharePoint Portal Server supports many topologies that allow organizations to set up different server farm environments from small server farms to larger load balance server farm environments according to an organization’s requirements. This will introduce various numbers of Web Servers, Search Server and Index Servers in to the SharePoint farm environment. Some server farms can contain more than one SharePoint component bundled up together. For example, Web and Search components together in a single server.
The following table contains a list of performance counters that are relevant for all of the SharePoint components.
|
Object |
Counter |
Threshold |
Description |
|
Processor |
Percent processor time_total |
80 to 85 percent averaged over three intervals |
The total percentage of processor usage for a server. |
|
ASP.NET applications |
Requests per second_total |
Through ongoing monitoring, trends begin to emerge that equate requests per second with CPU consumption |
The number of requests executed per second; this roughly equates to the number of HTTP pages per second. |
|
Web service |
Get requests per second_total, individual portal, or IIS Virtual root |
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. |
|
Search |
Query rate |
10 per second |
The number of queries posted to the server per second; keep in mind that in the medium server farm configuration, the front-end servers are doing much more than searching. |
|
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 if you need to troubleshoot search problems. |
|
Search catalogs |
Number of documents |
Microsoft has tested up to 5 million documents per content index |
The total number of documents in the catalog. |
|
Search catalogs |
Queries rate_(index names or all instances) |
Indicates which catalogues are searched most often by users |
The number of queries posted to indexes per second; in conjunction with other performance data, this can help determine if your index configuration can be optimized. |
Table 2: SharePoint Portal Server Performance counters
Front End Web Servers in a Server Farm
The Processor, ASP.NET application and Web Service performance objects determine when to add a new dedicated Front End Web server to the farm environment. When above three performance objects counters continuously approach or exceed any of the thresholds; organizations should consider adding additional Front End Web servers to the server farm. At the same time make sure you check the general counters in Table 1 to better understand the Windows Server 2003 server performance.
The “percent processor time” counter is the main indicator of Front End Web server performance. The organization should gather this information every 15 minutes to determine the health of the Front End Web server. If the organization is having high performance expectations, this counter should record a lower average threshold.
Having a heavily used Windows SharePoint Services Site can add extensive performance impact on Front End Web servers. Organizations should identify these kinds of WSS sites and consider scaling out one or more those sites to a separate server farm to reduce the performance impact on Front End Web servers.
Front End Web / Search Servers in a Server Farm
Table 2 lists the important performance counter for a Front End Web server with SharePoint Search component in a server farm. If the “search catalog” size exceeds 5 million, Microsoft recommends adding an additional Front End / Searching server to the server farm or separating the indexing by moving the Indexing server to a dedicated Indexing server. This will reduce the propagation and crawling time.
The amount of CPU time taken for the search operations is another key factor of monitoring the health of the server farm. When the “query rate” counter exceeds the recommended threshold and search operations consumes more than 40 to 50 percent of the overall server capacity, organizations should consider scaling out toward a Larger Server Farm. If percent processor time is exceeding the threshold but the query rate is below the threshold and front end web traffic is bringing the server to its maximum capacity, the organization should consider adding an additional Front End Web/Search server to the Server Farm.
Index Servers
The main performance thresholds for index servers are 80 to 85 percent processor time and 85 percent memory availability. Adding additional indexing servers to a farm environment is not totally done looking at performance counters. It is more determined by the function of indexing and propagation time. When it take few hours for an incremental crawl and propagation, and the organization needs this to be done in half hour, consider adding another indexing server.
Performance of an indexing server also depends on the location of the crawled content and the processing power of the indexing server. Crawl time may depend on content location, network performance, type of documents in the index, frequency and type of content index updates.
Microsoft recommends no more than four index servers per large server farm.
Microsoft SQL Server
The present processor time counter is the leading indicator for Microsoft SQL Server performance. Examine percent processor time in conjunction with overall memory capacity, network traffic and input/output subsystem capacity will provide an accurate health report on your dedicated SQL Server on the SharePoint farm.
Internet Information Services (IIS) Logs
IIS logs include detailed information such as who has visited sites and what was viewed, in terms of total visits, page views and trends over time. Careful analysis of IIS logging data will help organizations to discover how much traffic is going to portal sites, how much is going to WSS sites and search operations.
It will also help organizations to identify bottlenecks and performance issues. Most importantly this will help to identify the most used Windows SharePoint Services Sites in the portal and its impact on the Front End Web server. According to this information, organizations can decide when to move one or more site collections to a dedicated Windows SharePoint Services server farm to reduce the performance impact on the Front End Web server.
Setting Up IIS Log Files
Set up logs files to be created daily for each virtual server. It is good practice to locate these logs separate from the drive that holds the operating system data. The local administrators group and the IIS_WPG group should have access to the log file directory.
IIS logging is enabled by default for each virtual server. The user can check whether IIS logging is enabled by following these steps.
· Click Start -> Run
· Then in the Run window type “inetmgr” to open the Internet Information Services (IIS) Manager
· Select the virtual directory, right click and select the Properties menu option
The recommended log file format for IIS logs is the W3C format. This is the default log file format and enables you to select the fields you want to include in the log file. By limiting the number of fields you can simplify the process of identifying the data and save server resources, CPU usage. User can follow these steps to select the logging properties for their virtual server.
· In the Properties window of the virtual server select the Properties button next to “Active log format”
· The Logging Properties window will open as displayed in Figure 4
· This window enables the user to select the appropriate schedule that will suit their organization (daily is recommended)
· This screen also displays the log file directory and file name.
· Select the Advanced (or Extended Properties) option from the top tab section
The following window will open allowing you to select from all the available fields:
IIS logs files can also be logged in a database that complies with Open Database Connectivity (ODBC), such as Microsoft SQL Server database as displayed in figure 6.
The information being logged to the SQL Server then can be reviewed by generating reports using the SQL Server Query Analyser.
Conclusion
Organizations can use the Windows 2003 System Monitor, Performance logs and alerts to monitor their SharePoint Portal Server environment. The performance counter details were taken from Microsoft SharePoint Products and Technologies Resource Kit.