Monday, December 13, 2010

Business Connectivity Services limits

Found this information from one of the blog posts:

Putting the extract here for my future reference.

Business Connectivity Services limits

-There is a hard limit of 5,000 external content type definitions that can be loaded into memory at any given time.
-There is a limit of 500 external system connections that can either be active or open at any given time. The default is set to 200 and it does not matter what type of connection is being used either.
-The default is 2,000 database items that can be returned in a request when using the database connector. The boundary is 1 million.
-There are three variables that you must always consider: the number of items in the external list, the number of columns per item and the size of each item.
-Profile pages display data from external content type data. The performance of these pages is driven by the complexity of the associations to external systems.
-The internal process for bringing external data into SharePoint via BCS is pretty simple. There is load (queries external source and loads into SharePoint), process (applies sort, filter, group processing) and render (display data onto page). BCS does not have in-memory cache for external items. Data has to go through load, process and render each time an external list is refreshed. Knowing this you need to make sure you control the amount of data that is processed at any given time.
-Microsoft's recommendation is to keep the number of items to be processed as possible by reducing the amount of items returned from external systems. It is recommended to keep the number of returned between 100 to 500 rows and it is recommended to not exceed 2.000 rows. -It is recommended to use filters to ensure you work within these guidelines. More can be returned if needed but this needs to be done by an administrator.
-Rendering external list can be intensive for both the WFE and the application server. It is recommended to keep the number of items being displayed at any time to around 30. Note that the number of items that are rendered is not the same amount of items that were processed. The number of items rendered is controlled by the external list view that is on a SharePoint page.
-It is recommended to reduce the number of columns from external list. Obviously a large number of columns will affect performance.
-When rendering it is recommended not to use large-sized columns in list views. Columns larger that 1KB should not be utilized in a view. However performance is more affected by the number of items and not the size. So it is recommended always try to keep the number of items lower for better results.
-When designing an external list which is using BCS, make sure the default view will be the view the user needs to see the most. If the user needs to sort or filter the view, that will require data go back through the load, process and render process.
-For a profile page, the number of associations is the key for good performance. It is recommended to not exceed two associations. There will be lower performance of both throughput and latency when large number of items in an association.
-Diagnostic logging of BCS can become a factor for performance and it is recommended to lower when not doing testing.
-Performance of the external system will have performance implications to BCS and you need to sure those systems perform well.

No comments: