Tuesday, February 22, 2011

Limits in SharePoint 2010


LIMITS BY HIERARCHY

This section provides limits sorted by the logical hierarchy of a SharePoint Server 2010 farm.

Web application limits

The following table lists the recommended guidelines for Web applications.



LimitMaximum valueLimit typeNotes
Content database300 per Web applicationSupportedWith 300 content databases per Web application, end user operations such as navigating to the site or site collections are not affected. But admin operations such as creating a new site collection will experience performance degradation. It is also suggested to user PowerShell to manage the Web application when a significant number of Content databases is present
ZoneFive per Web applicationBoundaryThe number of zones defined for a farm is hard coded to 5. Zones include Default, Intranet, Extranet, Internet, and custom.
Managed path20 per Web applicationSupportedManaged paths are cached on the Web server, and CPU resources are used to process incoming requests against the managed path list. If you plan to exceed twenty managed paths in a given Web application, we recommend you test for acceptable system performance.



Web server and application server limits

The following table lists the recommended guidelines for Web servers on the farm.


LimitMaximum valueLimit typeNotes
Application pools10 per Web serverSupportedMaximum number is determined by hardware capabilities.
This limit is dependent largely upon:
  • The amount of RAM allocated to the front end servers
  • The workload that the farm is serving – the user base and the usage characteristics (the process of a single highly active application pools can reach 10 GB or more)

Content database limits

The following table lists the recommended guidelines for content databases.


LimitMaximum valueLimit typeNotes
Content database size200 GB per Content databaseSupportedWe strongly recommended limiting the size of content databases to 200 GB to help ensure system performance.
Content database sizes up to 1 terabyte are supported only for large, single-site repositories and archives with non-collaborative I/O and usage patterns, such as Records Centers. Larger database sizes are supported for these scenarios because their I/O patterns and typical data structure formats have been designed for, and tested at, larger scales.
A site collection should not exceed 100 GB unless it is the only site collection in the database.


Site collection limits

The following table lists the recommended guidelines for site collections.


LimitMaximum valueLimit typeNotes
Web site250,000 per site collectionSupportedYou can create a very large total number of Web sites by nesting the subsites, For example: a shallow hierarchy with 100 sites, each with 1,000 subsites, is a total 100,000 Web sites, or a deep hierarchy with 100 sites, each 10 levels deep also containing a total of 100,000 Web sites.
The maximum recommended number of sites and subsites is 250,000 sites. Note that Web deletion can have significant impact on the Site's availability, access to the site and subsites will be limited during the time of Web deletion. Also high concurrency of subsite creation might fail beyond a certain pace
Site Collection Size100 GB per site collectionSupportedA site collection should not exceed 100 GB unless it is the only site collection in the database.
Certain site collection actions, such as site collection backup/restore or Move-SPSite, cause large Microsoft SQL Server® operations which can have performance impact or fail if other Site collections are active in the same database.




List and library limits

The following table lists the recommended guidelines for lists and libraries. For more information, see the "Designing Large Lists and Maximizing List Performance" white paper accessible from http://technet.microsoft.com/en-us/library/ff608068(office.14).aspx.



LimitMaximum valueLimit typeNotes
List View Threshold5,000ThresholdSpecifies the maximum number of list or library items that a database operation, such as a query, can process at one time, outside of the daily time window set by the administrator during which queries are unrestricted.
List View Threshold size for auditors and administrators20,000ThresholdSpecifies the maximum number of list or library items that a database operation, such as a query, can process at one time when performed by an auditor or administrator with appropriate permissions. This setting works in conjunction with Allow Object Model Override.
List row size8,000 bytes per rowBoundaryFor each SharePoint list or library item, it is only allowed to occupy 8000 bytes in total in the database. 256 bytes are reserved for built-in SharePoint columns, which leaves 7744 bytes for end-user columns. For details on how much space each type of field consumes, please look at the Column Limits.
File size2GBBoundaryThe default maximum file size is 50 MB. This can be increased up to 2 GB, but a large volume of very large files can impact farm's performance
Documents50,000,000 per librarySupportedYou can create very large document libraries by nesting folders, using standard views and site hierarchy. This value may vary depending on how documents and folders are organized, and by the type and size of documents stored.
Itemstens of millions per listSupportedYou can create very large lists using standard views, site hierarchies, and metadata navigation. This value may vary depending on the number of columns in the list and the usage of the list.
Rows Size Limitsix table rows internal to the database used for a list or library itemSupportedSpecifies the maximum number of table rows internal to the database used for a list or library item. To accommodate wide lists with many columns, each item may be wrapped over several internal table rows, up to six rows by default. This is configurable by the Farm administrators through the Object Model only. The Object Model method is SPWebApplication.MaxListItemRowStorage.
List View Lookup Thresholdeight join operations per queryThresholdSpecifies the maximum number of joins allowed per query, such as those based on lookup, Person/Group, or workflow status columns. If the query uses more than eight joins, the operation is blocked. This does not apply to single item operations. When using the maximal view via the OM (by not specifying any view fields), SharePoint will return up to the first eight lookups.
Bulk operations100 items per bulk operationBoundaryUser interface allows a maximum of 100 items to be selected for bulk operations.

Column limits

SharePoint Server 2010 data is stored in SQL Server tables. To allow for the maximum number of possible columns in a SharePoint list, SharePoint Server will create several rows in the database when data will not fit on a single row. This is called row wrapping.


Each time a row is wrapped in SQL Server, an additional query load is placed on the server whenever that item is queried because a SQL join must be included in the query. To prevent excessive load, by default a maximum of six SQL Server rows are allowed for a SharePoint item. This limit leads to a particular limitation on the number of columns of each type that can be included in a SharePoint list. The following table describes the limits for each column type.


The row wrapping parameter can be increased beyond six, but this may result in excessive load on the server. Performance testing is recommended before exceeding this limit. For more information, see the "Designing Large Lists and Maximizing List Performance" white paper accessible from http://technet.microsoft.com/en-us/library/ff608068(office.14).aspx.


Each column type has a size value listed in bytes. The sum total of all columns in a SharePoint list cannot exceed 8,000 bytes. Depending on column usage, it is possible to reach the 8,000 byte limitation before reaching the six-row row wrapping limitation.


LimitMaximum valueLimit typeSize per columnNotes
Single line of text276Threshold28 bytesSQL Server row wrapping occurs after each 64 columns in a SharePoint list. The default row wrapping value of six allows for a maximum of 384 Single line of text columns per SharePoint list (6 * 64 = 384); however since the limit per SharePoint list item is 8000 bytes, of which 256 bytes are reserved for built-in SharePoint columns, the actual limit should be 276Single line of text columns.
Multiple Lines of Text192Threshold28 bytesSQL Server row wrapping occurs after each 32 columns in a SharePoint list. The default row wrapping value of six allows for a maximum of 192 Multiple lines of textcolumns per SharePoint list (6 * 32 = 192).
Choice276Threshold28 bytesSQL Server row wrapping occurs after each 64 columns in a SharePoint list. The default row wrapping value of 6 allows for a maximum of 384Choice columns per SharePoint list (6 * 64 = 384); ); however since the limit per SharePoint list item is 8000 bytes, of which 256 bytes are reserved for built-in SharePoint columns, the actual limit should be 276 Single line of text columns.
Number72Threshold12 bytesSQL Server row wrapping occurs after each 12 columns in a SharePoint list. The default row wrapping value of six allows for a maximum of 72 Number columns per SharePoint list (6 * 12 = 72).
Currency72Threshold12 bytesSQL Server row wrapping occurs after each 12 columns in a SharePoint list. The default row wrapping value of six allows for a maximum of 72 Currency columns per SharePoint list (6 * 12 = 72).
Date and Time48Threshold12 bytesSQL Server row wrapping occurs after each eight columns in a SharePoint list. The default row wrapping value of six allows for a maximum of 192 Date and Time columns per SharePoint list (6 * 8 = 48).
Lookup96Threshold4 bytesSQL Server row wrapping occurs after each 16 columns in a SharePoint list. The default row wrapping value of six allows for a maximum of 96 single value Lookupcolumns per SharePoint list (6 * 16 = 96).
Yes / No96Threshold5 bytesSQL Server row wrapping occurs after each 16 columns in a SharePoint list. The default row wrapping value of six allows for a maximum of 96 Yes / No columns per SharePoint list (6 * 16 = 96).
Person or Group96Threshold4 bytesSQL Server row wrapping occurs after each 16 columns in a SharePoint list. The default row wrapping value of six allows for a maximum of 96 Person or Group columns per SharePoint list (6 * 16 = 96).
Hyperlink or Picture138Threshold56 bytesSQL Server row wrapping occurs after each 32 columns in a SharePoint list. The default row wrapping value of six allows for a maximum of 192 Hyperlink or Picturecolumns per SharePoint list (6 * 32 = 192) ); however since the limit per SharePoint list item is 8000 bytes, of which 256 bytes are reserved for built-in SharePoint columns, the actual limit should be 138Hyperlink or Picture columns.
Calculated48Threshold28 bytesSQL Server row wrapping occurs after each eight columns in a SharePoint list. The default row wrapping value of six allows for a maximum of 48 Calculated columns per SharePoint list (6 * 8 = 48).
GUID6Threshold20 bytesSQL Server row wrapping occurs after each column in a SharePoint list. The default row wrapping value of six allows for a maximum of 6GUID columns per SharePoint list (6 * 1 = 6).
Int96Threshold4 bytesSQL Server row wrapping occurs after each 16 columns in a SharePoint list. The default row wrapping value of six allows for a maximum of 48 Int columns per SharePoint list (6 * 16 = 96).
Managed Metadata94Threshold40 bytes for the first, 32 bytes for each subsequentThe first Managed Metadata field added to a list gets four columns:
  • A lookup field for the actual tag
  • A Hidden Text field for the string value
  • A Lookup field for the Catch-all
  • A Lookup field for spillover of the Catch all


Each subsequent Managed Metadata field added to a list adds two more columns
  • A lookup field for the actual tag
  • A Hidden Text field for the string value


The maximum number of columns of Managed Metadata is calculated as (14 + (16 * (n-1))) where n is the row mapping value (default of six).


External Data columns have the concept of a primary column and secondary columns. When you add an external data column, you can select some secondary fields of the external content type you want to be added to the list. For example, given an External Content Type "Customer" which has fields like "Id", "Name", "Country", "Description" etc., when you add an External Data column of type "Customer" to a list, you can add secondary fields to show the "Id", "Name" and "Description" of the Customer. Overall these are the columns that get added:
  • Primary column: A text field.
  • Hidden Id column: A multi-line text field.
  • Secondary columns: Each secondary column is a text/number/Boolean/multi-line text based on the data type of the secondary column as defined in the BDC model. For example, Id might be mapped to a Number column; Name might be mapped to a Single line of text column; Description might be mapped to a Multiple lines of textcolumn.

Page limits

The following table lists the recommended guidelines for pages.


LimitMaximum valueLimit typeNotes
Web parts25 per pageThresholdThis figure is an estimate based on simple Web Parts. The complexity of the Web parts dictates how many Web Parts can be used on a page before performance is affected.


Security limits


LimitMaximum valueLimit typeNotes
Number of SharePoint groups an User can belong to5,000SupportedThis is not a hard limit but it is consistent with Active Directory® guidelines. There are several things that affect this number:
  • The size of the user token
  • The groups cache: we have a table that caches the number of groups an user belongs to as soon as those groups are user for in ACLs
  • The security check time: as the number of groups a user is a member of increases, the time required for access check increase as well.
Users in a Site Collection2 million per site collectionSupportedYou can add millions of people to your Web site by using Microsoft Windows® security groups to manage security instead of using individual users. This limit is based on manageability and ease of navigation in the user interface. When you have many entries (security groups of users) in the site collection (more than one thousand), you should user PowerShell to manage users instead of the UI. This will provide a better management experience."
Active Directory Principles/Users in a SharePoint group5,000 per SharePoint groupSupportedSharePoint allows you add users or Active Directory groups to a SharePoint group.
Having up to 5,000 users (or Active Directory groups or users) in a SharePoint group provides acceptable performance.
The actions affected by this Limit are:
a) Fetching user to validate permissions, this operation grows incrementally with growth in number of users in a group.
b) Rendering the membership of the view will always require time.
SharePoint groups10,000 per site collectionSupportedBeyond 10,000 groups, the time to execute operations is increased significantly especially for adding a user to an existing group, creating a new group and rendering the group views.
Security principal: size of the Security Scope5,000 per Access Control List (ACL)SupportedThe size of the scope impacts the data used for a security check calculation. This calculation occurs each time the scope changes. There is no hard limit, but the bigger the scope is the longer the calculation takes.


Other limits

The following table lists the recommended guidelines for other objects.


LimitMaximum valueLimit typeNotes
Subsite2,000 per site viewThresholdThe interface for enumerating subsites of a given Web site does not perform well as the number of subsites surpasses 2,000. Similarly, the All Site Content page and the Tree View Control performance will degrade significantly as the number of subsites grows.
Coauthoring in Microsoft Word and Microsoft PowerPoint® for .docx, .pptx and .ppsx files10 simultaneous editors per documentThresholdRecommended maximum number of simultaneous editors is 10. The boundary is 99.
If there are 99 co-authors who have a single document opened for simultaneous editing, the 100th user and above will get a file in use error and have to view a read-only copy.
More than 10 co-editors will lead to a gradually degraded user experience with more conflicts and users will have to go through more iterations to get their changes to upload successfully.


LIMITS BY FEATURE

This section lists limits sorted by feature.

Search limits

The following table lists the recommended guidelines for Search.


LimitMaximum valueLimit typeNotes
Crawl Impact Rule100ThresholdRecommended limit of 100 per farm The recommendation can be exceeded; however, display of the sit hit rules in the search administration is degraded. When reaching about 2000 site hit rules the manage site hit rules page becomes unreadable.
SharePoint Search Applications20SupportedMultiple SharePoint Search Applications can be deployed on the same farm, as you can assign search components and databases to separate servers. The recommended limit of 20 is less than the maximum limit of service applications.
Scope Rules100 scope rules per scope; 600 total per search applicationThresholdExceeding this limit will degrade crawl freshness, and delay potential results from scoped queries.
Indexed items100 million search application; 10 million per index partitionSupportedSharePoint Search supports index partitions, which each contain a subset of the entire search index. The recommended maximum is 10 million items for a given partition. The overall recommended maximum number of items: e.g., people, list items, documents, Web pages, etc., is 100 million.
Content sources50 per search applicationThresholdThe recommended limit of 50 can be exceeded up to the boundary of 500 per search application. However, fewer start addresses should be used, and the concurrent crawl limit needs to be followed.
Start Addresses100 per content sourceThresholdThe recommended limit can be exceeded up to the boundary of 500 per Content Source. However, fewer content sources should be used. When you have many start address, we recommend that you put them as links on an html page, and have the HTTP crawler crawl the page, following the links.
Scopes200 per siteThresholdThis is a recommended limit per site. Exceeding this limit may degrade the crawl efficiency as well as impacting end-user browser latency if the scopes are added to the display group. Also, display of the scopes in the search administration degrades as the number of scopes increases past the recommended limit.
Display groups25 per siteThresholdThese are used for a grouped display of scopes through the user interface. Exceeding this limit will start degrading the search administration scope experience.
Crawl rules100 per search applicationThresholdThis value can be exceeded; however, display of the crawl rules in the search administration is degraded.
Managed properties100,000 per search applicationThresholdThese are properties used by the search system in queries. Crawled properties are mapped to managed properties.
Mappings100 per managed propertyThresholdExceeding this limit may degrade crawl speed and query performance.
Crawl components16 per search applicationThresholdRecommended limit per application is 16 total crawl components; with two per crawl database, and two per server, assuming the server has at least eight processors (cores).
The total number of crawl components per server must be less than 128/(total query components) to minimize propagation I/O degradation. Exceeding the recommended limit may not increase crawl performance; in fact, crawl performance may decrease based on available resources on crawl server, database, and content host.
Index Partition20 per search applicationThresholdThis index partition is a subset of the search application's index. The recommended limit is 20. Increasing the number of index partitions results in a small subset of the index, reducing the RAM and disk space needed on the query server hosting the query component assigned to the index partition. The boundary of index partitions is 128.
Property Database10 per search applicationThresholdThe Property database stores the metadata for items in each associated index partition associated with it. An index partition can only be associated with one property store. The recommended limit is 10 per search application. The boundary is hard limit of 255.
Concurrent Crawls20 per search applicationThresholdThis is the number of crawls underway at the same time. Exceeding this number may cause the overall crawl rate to degrade.
Authoritative pagesone top level and minimal second and third level pages per search applicationThresholdRecommended limit of one top level authoritative page, and as few as possible second and third level pages, while achieving desired relevance.
The boundary is 200 per relevance level per search application, but adding additional pages may not achieve the desired relevance. Add the key site to the first relevance level. Add subsequent key sites either second or third relevance levels, one at a time, evaluating relevance after each addition to ensure that the desired relevance effect is achieved.
Query Components128 per search application; 64/(total crawl components) per serverThresholdThe total number of query components is limited by the crawl components' ability to copy files. The maximum number of query components per server is limited by the query components' ability to absorb files propagated from crawl components.
Alerts1,000,000 per search applicationSupportedThis is the tested limit.
Crawled Properties500,000 per search applicationSupportedThese are properties that are discovered during a crawl.
URL removals100 removals per operationSupportedThis is the maximum recommended number of URLs that should be removed from the system in one operation.
Crawl Log Entries100 million per search applicationSupportedThis is the number of individual log entries in the crawl log. It will follow the "indexed documents" limit.
Metadata Properties Recognized10,000 per item crawledBoundaryThis is the number of metadata properties that, when an item is crawled, can be determined and potentially mapped and/or used for queries.
Crawl Database Items25 million per crawl databaseThresholdThe Crawl database stores the crawl data (time/status, etc) about all items that were crawled. The supported limit is 10 crawl databases per SharePoint Search application. The recommended limit is 25 million items per crawl database (or a total of four crawl databases per search application).
Keywords200 per site collectionSupportedThe recommended limit can be exceeded up to the maximum (ASP.NET-imposed) limit of 5000 per Site Collection with five Best Bets per keyword. Display of keywords on the site administration user interface will degrade. The ASP.NET-imposed limit can be modified by editing the Web.Config and Client.config files (MaxItemsInObjectGraph).

User Profile Service limits

The following table lists the recommended guidelines for User Profile Service.


LimitMaximum valueLimit typeNotes
User Profiles2,000,000SupportedA user profile application can support up to 2 million user profiles with full social features functionality and up to 500 million total social tags, notes and ratings are supported in a social database without significant performance degradation. However, database maintenance operations such as back-up and restore may show performance degradation at that point.
This number represents the number of profiles which can be imported from a directory service, such as Active Directory, into the people profile store as well as the number of profiles a user profile service can support without leading to any performance degradations in social features.


Workflow limits

The following table lists the recommended guidelines for workflow.


LimitMaximum valueLimit typeNotes
Workflow postpone threshold15ThresholdMaximum Number of workflows allowed to be concurrently executing against a content database at a time, not including instances that are running in the timer service. While this threshold is met, new requests to activate workflows will be queued to be run by the workflow timer service at a later time. As non-timer execution completes, new requests will fill in count against this threshold. This is a configurable limit via Set-SPFarmConfig. Note: this is not the number of total instances that can be in progress, just the number of instances that are actively being processed. Increasing this limit will increase the throughput of starting workflows and completing workflow tasks but also increases load against the content database and system resources depending on load.
Workflow timer batch size100ThresholdNumber of events that each run of the workflow timer job will pick up and deliver to workflows. Configurable through PowerShell. Additional instances of the Microsoft SharePoint Foundation Workflow Timer Service allow for additional events.






Office Web Application Service limits

The following table lists the recommended guidelines for Office Web Apps.


LimitMaximum valueLimit typeNotes
RendersOne per CPU core per application server (max eight cores)This is the measured average number of renders that can be performed of "typical" documents on the app server over a period of time.
Merge operationsOne per CPU core per Web serverBoundaryMicrosoft® OneNote® merges combine changes from multiple users who are co-authoring a notebook. This is a defined limit. If no core is available to run a merge, UI is generated instead (a conflict page, making the user perform the merge manually).


OneNote limits

The following table lists the recommended guidelines for OneNote Services.


LimitMaximum valueLimit typeNotes
Number of Sections and Section Groups in a OneNote Notebook (on SharePoint)See limit for "Documents" in List and library limitsEach section counts as one folder and one document in the list. Each section group counts as one folder and one document in the list.
Maximum size of a sectionSee limit for "File size" in List and library limitsThis maximum excludes any images, embedded files, and XPS print outs to OneNote that are greater than 100 KB. Images and embedded files greater than 100 KB are split out into their own binary files. This means a section with 100 KB of typed data and four embedded Word documents of 1 MB each, will be considered a 100 KB section.
Maximum size of an image, embedded file, and XPS OneNote print out in a OneNote section.See limit for "File size" in List and library limitsEach item is stored as a separate binary file and thus subject to file size limits. Each print operation to OneNote will result in one XPS print out binary, even if the printout contains multiple pages.
Maximum size of all images, embedded files, and XPS printouts in a single OneNote page.Default limit is double the "File size" limit.ThresholdThis applies to embedded content in a single OneNote page, not a Section or Notebook. If users encounter this, they will see the following error in OneNote: jerrcStorageUrl_HotTableFull (0xE0000794). Users can work around this by splitting embedded content into different pages and deleting previous versions of the page. If users need to adjust this value ("Max Hot Table Size"), the effective limit is only half of the absolute value they define (for example, specifying a 400 MB max hot table size would mean the maximum size of all embedded content on a page is limited to 200 MB).


Project Server limits

The following table lists the recommended guidelines for Microsoft Project Server. For more information about planning for Project Server, see Planning and architecture for Project Server 2010 (http://technet.microsoft.com/en-us/library/cc197605(office.14).aspx).


LimitMaximum valueLimit typeNotes
End of Project TimeDate: 12/31/2049BoundaryProject Plans cannot extend past the date 12/31/2049.
Deliverables per Project Plan1500 deliverablesBoundaryCannot have more than 1500 deliverables per project plan.
Number of Fields in a View256BoundaryA user cannot have more than 256 fields added to a given view they have defined in Project Web App.
Number of Clauses in a Filter for A View50BoundaryCannot add a filter to a given view that has more than 50 clauses in it.

Business Connection Service limits

The following table lists the recommended guidelines for Business Connection Service


LimitMaximum valueLimit typeNotes
ECT (in-memory)5000 per Web Server (per tenant)BoundaryTotal number of External Content Type (ECT) definitions loaded in memory at a given point in time on a Web Server.
External system connections500 per Web serverBoundaryNumber of active/open external system connections at a given point in time. The default maximum value is 200; the boundary is 500. This limit is enforced at the Web Server scope, regardless of the type of external system (for example, database, .NET assembly, and so on) The default maximum is used to restrict the number of connections. An application can specify a larger limit via execution context; the boundary enforces the allowed maximum even for applications that do not respect the default.
Database Item2,000 per database connectorThresholdNumber of items per request the database connector can return.
The default maximum of 2,000 is used by the database connector to restrict the number of result that can be returned per page. The application can specify a larger limit via execution context; the Absolute Max enforces the allowed maximum even for applications that do not respect the default. The boundary for this limit is 1,000,000.


PerformancePoint Services limits

The following table lists the recommended guidelines for PerformancePoint Services.


LimitMaximum valueLimit typeNotes
Cells1,000,000 per query on Excel Services data sourceBoundaryA PerformancePoint® scorecard that calls an Excel Services data source is subject to a request of no more than 1,000,000 cells per query.
Columns and rows15 columns by 60,000 rowsThresholdThe maximum number of columns and rows when rendering any PerformancePoint dashboard object using a Microsoft Excel® workbook as a data source. The number of rows could change based on the number of columns.

No comments:

Post a Comment