Web Front End servers
Web Front End (WFE) servers form the connection point for clients that request content or services from SharePoint. Every request from a client is directed to a WFE server and every response to a client is sent from a WFE server. This means that all client requests place some load on WFE servers. A WFE server is responsible for:
- Processing incoming requests through IIS.
- Requesting any data from service applications and databases that are required to service the request.
- Processing the data returned by service applications and databases.
- Compiling responses as ASP.NET pages and sending the responses to the requestor.
In small farms, WFE servers often perform application roles in addition to the WFE role. WFE servers do not require large quantities of disk storage; instead, they rely heavily on processor power and memory for performance. Some service applications, especially those relating to Business Intelligence (BI) functionality, can significantly increase processor and memory load on WFE servers, even when the service applications are running on dedicated Application Servers.
To improve the performance of page rendering and client access, you can add more WFE servers to the farm and implement network load balancing and request management.
A SharePoint Web Server role runs on either Windows Server 2008 R2 IIS 7.0, or preferably, Windows Server 2012 IIS. In both cases, SharePoint 2013 requires specific roles to be installed in advance of installation, including the following components (the same component should be installed in Application Server roles also):
- Web server (IIS) role
- Application Server role
- Windows .NET Framework version 4.5
- SQL Server 2008 R2 SP1 Native Client
- Microsoft WCF Data Services 5.0
- Microsoft Information Protection and Control Client (MSIPC)
- Microsoft Sync Framework Runtime v1.0 SP1 (x64)
- Windows Management Framework 3.0 (includes Windows PowerShell 3.0)
- Windows Identity Foundation (WIF) 1.0 and Microsoft Identity Extensions
- Windows Server AppFabric
- Cumulative Update Package 1 for Microsoft AppFabric 1.1 for Windows Server (KB 2671763
Application Servers
By default, the server that hosts Central Administration in a three-tier farm is an Application Server. You can add Application Servers to host services that can be deployed to a single server and used by all the servers in a farm. Services with similar usage and performance characteristics can be logically grouped on a server and if it is necessary, hosted on multiple servers if a scale out is required to respond to performance or capacity requirements. For example, client-related farm services such as Word Services and Word Viewer can be combined into a service group and hosted on a dedicated server. In addition, some services, such as the Managed Metadata service, can be configured as a service application that can be used by other farms.
Application Servers host service applications. You can distribute service applications among the servers in your server farm to manage load. The specific hardware demands imposed by service applications vary both by the type of service application and by how the service application is used. However, as a general rule, service applications do not require disk space on the Application Server; instead, they may impose significant processor and memory demands. To mitigate these demands, you should:
- Conduct regular monitoring of processor and memory load on Application Servers.
- Distribute service applications among the available Application Servers to allocate server load evenly.
Search servers
The search service application can add significantly to the resource requirements of a SharePoint 2013 server farm. Although the components of the search service are technically the responsibility of Application Servers, many large SharePoint deployments use dedicated servers to run components of the search service. In SharePoint 2013, the search service consists of the following major components:
- The index component: The search index is divided into one or more index partitions. Each partition stores part of the search index as a set of files on disk. Index partitions can be allocated (and replicated) across individual servers in a server farm. The index component writes index items received from the content processing component and issues result sets to the query processing component. The index component can place high demands on memory and disk input and output (I/O).
- The query processing component: The query processing component receives search requests from a WFE server. It processes the request and sends it to the index component, which returns a result set. It then processes the result set and returns it to the WFE server as search results. Typically, the query processing component places high demands on memory and processor power.
- The search administration component: The search administration component manages the processes and timer jobs that underpin the search service. In isolation, the search administration component does not place heavy demands on hardware.
- The crawl component: The crawl component browses content sources on a scheduled basis and provided crawled content, together with any associated metadata, to the content processing Component. The crawl component places very heavy demands on the available processor power and consumes a large amount of I/O bandwidth.
- The content processing component: The content processing component receives content and Metadata from the crawl component. It transforms the crawled items into index-ready items, for example by parsing documents and mapping crawled properties to managed properties. Typically, the content processing component places high demands on memory and processor power.
- The analytics component: The analytics processing component analyzes crawled items and how the search service is used. It writes the results of this analysis to the analytics reporting database. The analytics component can place high demands on memory and processor power and it consumes significant I/O bandwidth. Each of these components can be allocated to one or more Application Servers in the server farm.
Database servers
Database servers in a SharePoint 2013 farm run SQL Server 2012 or SQL Server 2008 R2 and host a range of SharePoint databases, including the configuration database, content databases and service application databases. The database server role is generally not as processor-intensive as other server roles. However, database servers typically experience heavy memory load and heavy I/O load. When we configure or maintain a database server, we should ensure that sufficient memory is available, that sufficient storage is available and that your storage media is fast enough to prevent I/O bottlenecks.