Showing posts with label About service applications and services in SharePoint 2013. Show all posts
Showing posts with label About service applications and services in SharePoint 2013. Show all posts

About service applications and services in SharePoint 2013

In SharePoint 2013, individual services can be configured independently and third-party companies can add services. The services infrastructure gives you control over which services are deployed and how services are shared.

Services that are deployed are named service applications. A service application provides a resource that can be shared across sites throughout a farm, and can be accessed by users through a hosting web application. Service applications are associated to web applications by service application connections. Some services can be shared across farms.

For more information about the logical structure of services and service applications, see Architecture.

For more information about how to manage service applications that included instructions for publishing service applications across farms, see Manage service applications in SharePoint 2013 and Share service applications across farms in SharePoint 2013.

An example of a supported limit is the number of site collections per farm. The supported limit is the largest number of site collections per web application that met performance benchmarks during testing.

It is important to be aware that many of the limit values that are provided in this document represent a point in a curve that describes an increasing resource load and concomitant decrease in performance as the value increases. Therefore, exceeding certain limits, such as the number of site collections per web application, may only result in a fractional decrease in farm performance. However, in most cases, operating at or near an established limit is not a best practice, as acceptable performance and reliability targets are best achieved when a farm’s design provides for a reasonable balance of limits values.

Thresholds and supported limits guidelines are determined by performance. In other words, you can exceed the default values of the limits, but as you increase the limit value, farm performance and the effective value of other limits may be affected. Many limits in SharePoint Server 2013 can be changed, but it is important to understand how changing a given limit affects other parts of the farm.
How limits are established

In SharePoint Server 2013, thresholds and supported limits are established through testing and observation of farm behavior under increasing loads up to the point where farm services and operations reach their effective operational limits. Some farm services and components can support a higher load than others so that in some cases you must assign a limit value based on an average of several factors.

For example, observations of farm behavior under load when site collections are added indicate that certain features exhibit unacceptably high latency while other features are still operating within acceptable parameters. Therefore, the maximum value assigned to the number of site collections is not absolute, but is calculated based on an expected set of usage characteristics in which overall farm performance would be acceptable at the given limit under most circumstances.

Obviously, if some services are operating under parameters that are higher than those used for limits testing, the maximum effective limits of other services will be reduced. It is therefore important to execute rigorous capacity management and scale testing exercises for specific deployments in order to establish effective limits for that environment.

Note: We do not describe the hardware that was used to validate the limits in this document, because the limits were collected from multiple farms and environments.
The Pie Metaphor

In order to understand the relationship between hardware resources, load and performance, it’s important to have a way to visualize the factors involved and how they affect each other.

Consider the capacity of a farm as a pie, the size of which represents the aggregate of factors such as servers, hardware resources such as CPUs and RAM, storage capacity, disk IOPs, network bandwidth and latency. The size of the pie is therefore related to the overall resources of the farm; adding resources (such as farm servers) increases the size of the pie.

This pie is divided into slices that represent load from a variety of sources: user requests, search queries, operations against installed features, timer jobs and operating system overhead. Each of these sections must share available farm resources. If the size of one slice increases, the size of others must decrease proportionally. Since load on a farm is not static (user requests, for example, might only be significant during certain hours of the day), the relative size of the slices is constantly in flux. However, each slice must maintain a required minimum size to operate normally, and since the functions represented by each slice are interdependent, increasing the size of one slice may place more load on other slices in addition to reducing the resources available for them to consume.

Using this metaphor, the goal of the farm’s design is to make the pie large enough to accommodate the required size of each pie slice under peak load.


Now, consider a scenario where user requests increase by 100% over baseline. Let’s say that about half of the requests are search queries, and the other half editing lists and documents. This increased load squeezes the other pie slices, but some farm features must also work harder to compensate. The Search service has to process more queries, most of which are handled by the cache, but some queries are passed on to the database servers, increasing their load as well. If load on the database servers becomes too great, disk queue lengths will increase, which in turn increases the latency of all other requests.