Skip Ribbon Commands
Skip to main content

Blog

:

SharePoint Designer > Blog > Posts > Business Connectivity Services: End User Implications – Part two: Changing External System Throttling
 

 Posts

 
March 01
Business Connectivity Services: End User Implications – Part two: Changing External System Throttling

Introduction

In the first part of this article we covered implications of external system throttling thresholds for users of Business Connectivity Services (BCS), whether using Office 365® or on-premises installations of Microsoft SharePoint®. 

This is the second part of the article and describes the default threshold settings and how to change them when using on-premises installations of either Microsoft SharePoint® Foundation 2013 or Microsoft SharePoint® Server 2013. If you are using Office 365® you will not be able to change these thresholds.

External System Throttling

Each Business Data Connectivity (BDC) service application has throttling thresholds defined by throttling rules which consist of a throttle type and scope.

The throttle types are:

  • Items. The number of items returned from the external systems, such as the number of authors.
  • Size. The amount of data retrieved by the BCS Runtime from the external system in bytes.
  • Connections. The number of open connections to the external system.
  • Timeout. The time until an open connection is terminated, in milliseconds.
  • Metadata Size. Used to restrict the size of the metadata returned by the external system, specified in bytes.
  • Model Size. Used to restrict the size of the BDC model that can be imported into the BDC metadata store, specified in bytes.
  • Max Number Of Models. Used to restrict the number of BDC models that can be imported into a BDC metadata store per BDC service application. For a partitioned BDC service application then this is per tenant.
  • None. No throttle type specified.

Throttle scopes refer to type of connection that is used to contact the external system. Scopes includes Database, Web Service, WCF, OData and Custom. There is also a Global scope that includes all connector types, except for custom connectors. When a BDC service application is first created, the throttle rules do not include all combinations of throttle types and scopes. A throttle rule for the Global scope is used, when a throttle rule is not enabled for a throttle type for a specific scope.

For each throttling rule, not only do you have to specify the throttle type and scope, there are three properties defined, which are:

  • Enforced. When this property is set to True, the throttling rule is enabled.
  • Default. This property affects external lists and custom Web Parts. The first part of this article, provided examples of the error messages presented to the user based on this property. Custom Web Parts can override this value and therefore can present more data than external lists.
  • Max. The limit used when custom Web Parts override the value in the Default property

The throttling rules that exist when a BDC service application is first created, whether in partition mode or non-partitioned mode, are displayed in the following table.

Scope

Throttle Type

Enforced

Default

Max

Global

Connections

True

200

500

Global

ModelSize

False

10,000,000

50,000,000

Global

MaxNumberOfModels

False

1000

2000

Database

Items

True

2000

1,000,000

Database

Timeout

True

180,000

600,000

WebService

Size

True

3,000,000

150,000,000

WCF

Size

True

3,000,000

150,000,000

WCF

Timeout

True

180,000

600,000

WCF

MetadataSize

False

3,000,000

150,000,000

OData

Size

True

3,000,000

150,000,000

OData

Timeout

True

180,000

600,000

OData

MetadataSize

False

3,000,000

150,000,000

Modifying External System Throttling Thresholds

You can retrieve and amend the throttling rules by using the Business Data Catalog Windows PowerShell® cmdlets, as shown in the following examples. First you need the BDC service application proxy. Assuming there is only one BDC service application in your farm, which is true for most on-premises installations, then you can use the following Windows PowerShell command:

$bdcproxy = Get-SPServiceApplicationProxy | where {$_.TypeName –like “Business*”};

 

To display the throttling configuration for a BDC service application, type a command similar to the following one, on one line:

Get-SPBusinessDataCatalogThrottleConfig –ServiceApplication $bdcproxy `

  –Scope Global –ThrottleType Connections;

 

The output from the command is as follows:

    Scope : Global
    ThrottleType : Connections
    Enforced : True
    Default : 200
    Max : 500

To disable a throttling rule, type the following command:

Get-SPBusinessDataCatalogThrottleConfig –ServiceApplication $bdcproxy `

  –Scope Global –ThrottleType Connections | Set-SPBusinessDataCatalogThrottleConfig `

  -Enforced:$False;

To modify a throttle rule, type the following command:

$dbrule = Get-SPBusinessDataCatalogThrottleConfig –ServiceApplication $bdcproxy `

    –Scope Database –ThrottleType Items;

$dbrule | Set-SPBusinessDataCatalogThrottleConfig –Maximum 2000000 –Default 5000;

Summary

This second part of the four and discussed the default external system throttling settings and how to modify them. By default the following throttling rules are defined.

  • Global Scope. Throttle Types: Connections, ModelSize, and MaxNumberOfModels.
  • Database Scope. Throttle Types: Items, and Timeout.
  • WebService Scope. Throttle Type: Size.
  • WCF Scope. Throttle Types: Size, Timeout, and MetadataSize.
  • OData Scope. Throttle Types: Size, Timeout, and MetadataSize.
Back to Part Zero: End User Implications​.​​​

Add Comment

Items on this list require content approval. Your submission will not appear in public views until approved by someone with proper rights. More information on content approval.

Title


Body *


Comment Date *

Select a date from the calendar.
Please enter today's date so I know you are a real person.

Attachments