Wednesday, October 1, 2014

Resource Throttling

This topic is quite interesting in many respect. In recent past few days i was learning about this feature and what this feature offer is quite interesting.

I read many article and they explain this quite good but i just to include all my experience this feature offer.

Throttling is a administrative feature that provided in SharePoint 2010 and continue in SP2013.

Why we need this

In many business case scenario when we have a big list  more that 10,000 + item (Managing big list is separate  topic we discuss about this some other time) user request that they want to get more than 5000 item but due to resource constraints\Performance reason SharePoint take intelligent OOB decision and not get more and display a error message. this is very generic message.

The list view threshold does not apply simply to the number of results returned by our query. Instead, it restricts the numbers of database rows that can be accessed in order to complete execution of the query at the row level in the content database.

So obvious solution comes in our mind is enabling throttling(enabling for big query) for particular time period. Before you make any changes  Here we need to first identify the time where our server have least load this is critical decision if your SharePoint is getting access by the all the continent and user base is good enough like  80-90,000.

But  here story is not complete this setting is also going to effect the “List View Lookup Threshold” so in short if we create a view and we are using the lookup columns than we can get result in view up to  specified numbers by default it is 8 (but it count create by and modified by also a lookup columns so actually this is 6).

List view throttling is showing results on view that have internal lookup columns. if we say 8 is the threshold value it no mean that we can use 8 lookup columns it means that query can fetch the result using specified joins. So if you have multiple tables with lookup columns and want to show result in one view please plan.

we can increase the number but take this decision with good thought because first it going to consuming lots of resource and second that would annoying is if We increase limit for one business case than you can get next query to again increase it for another business case :) so be prepare. So rather that increasing this i will leave it default.

One more thing that is i found associated with this setting is Export to Excel option in list ribbon. Suppose that you have a list view that have multiple internal lookup columns and thousand items now when use can see the items in particular view but when he/she not able to export the list item in excel using the option form SharePoint ribbon.(make sure you have contributor right , if you are administrator this is going to work for you).

 Where we can enable this

We can change the setting from the Central admin. GO to manage web application and select particular web app.from the ribbon select General setting and choose resource throttling.

 

There is also some interesting idea to manage throttling using Indexing.

http://en.community.dell.com/techcenter/sharepoint-for-all/b/blog/archive/2014/04/01/resolving-the-list-view-threshold-when-migrating-to-o365