Tuesday, December 7, 2010

Large list limits Sharepoint 2007/2010

I am pretty obsessed with large list limitations which we are reaching to discover. I did some research - found a little bit info but still some area remain undiscovered.
Here is useful info about large list in Sharepoint 2007:

"For typical customer scenarios in which the standard Office SharePoint Server 2007 browser-based user interface is used, the recommendation is that a single list should not have more than 2,000 items per list container. A container in this case means the root of the list, as well as any folders in the list — a folder is a container because other list items are stored within it. A folder can contain items from the list as well as other folders, and each subfolder can contain more of each, and so on. For example, that means that you could have a list with 1,990 items in the root of the site, 10 folders that each contain 2,000 items, and so on. The maximum number of items supported in a list with recursive folders is 5 million items."
Plus found this info (http://sharepointony.info/2009/06/09/moss-2007-size-limits-and-list-item-attachments/):
Basic stuff first (all of this can be found elsewhere, I just wanted it to be more handy).
  • Site Collections in a Web Application = 50,000
  • Sites in a Site Collection = 250,000
  • Sub-sites nested under a Site = 2,000
  • Lists on a Site = 2,000
  • Items in a List = 10,000,000
  • Documents in a Library = 2,000,000
  • Documents in a Folder = 2,000
  • Maximum document file size 2GB
  • Documents in an Index = 50,000,000
  • Search Scopes = 1,000
  • User Profiles = 5,000,000
  • Template size = 10,000,000 (default)
List Attachments over 50MB need more than an increase in Maximum Upload Size…
  1. Connect to Central Administration
  2. Navigate to Application Management, Web Application General Settings
  3. Select your web application
  4. Set the Maximum Upload Size value to the value you desire (we wanted 500)  MB and hit OK
  5. Open the web.config
  6. Replace <httpRuntime maxRequestLength=”51200″ />  with <httpRuntime maxRequestLength=”512000″ />
Something in IIS blocks List Attachments that are over 50mb, so unless you do the above steps they fail with “An unknown error occurred” message.
And also this article quite useful: http://weblogs.asp.net/erobillard/archive/2008/09/11/sharepoint-security-hard-limits-and-recommended-practices.aspx

Regarding the unique permission limit for Sharepoint 2007 - haven't found any remarks.
Only this one:

If many items will share the same ACLs, then group them into a separate list or library and apply the ACL to the list or library. If the permission change is a temporary state in a list item's lifecycle (for example to assign reviewer permissions during a workflow) then reset the permissions to inherited when the temporary state is complete (e.g. at the end of the workflow). 
Here is an additional link regarding size of site collection limitation on 2007

 But for Sharepoint 2010 Microsoft articulates clearly -
Unique permissions limit 50,000 Specifies the maximum number of unique permissions allowed for a list or library.
Every time you break the inheritance of permissions for an item or folder, it is counted as 1 unique permission toward this limit. If you try to add an item that would lead to exceeding this limit, you are prevented from doing so.
This is actually a configurable value in SharePoint 2010, which can be adjusted by administrators in the Central Administration console.

It refers specifically to the number of items in a list or library that can have a unique set of permissions at one time (i.e. a unique security scope).
For example, if a library has a set of permissions at the library level so that some users have full control and others have read access over content within the library, this constitutes 1 security scope.  If a document within that library then has some unique permissions set, in other words it breaks inheritance from its parent library, then that constitutes a 2nd security scope.  If another document within this library has a unique permission applied to it, where an Active Directory group of 1000 users is given read access, this constitutes a 3rd security scope.  Finally, if you have 100 items within the library that have unique permissions, in other words 100 items all break inheritance from their parent library, then that constitutes 101 security scopes (remember you have 1 at the library level). (from a beautiful article - SharePoint 2010 Capacity / Performance Recommendations - Permission Planning

And this is one - is very detailed for Sharepoint 2010 limits , SharePoint Server 2010 capacity management: Software boundaries and limits

That is quit useful - found it for Sharepoint 2007:
Heavy use of granular item level security degrades performance: Consider that SharePoint needs to retrieve each item level permission for a list to calculate what can be rendered in your view of the list.  Therefore highly customized item level permissions will degrade the rendering performance of a list view.