Mann Software
 

The workflow throttle setting controls how many workflows can be processing at any one time on the whole farm. This does not mean how many can be "In Process" concurrently, but rather how many can be actively using the processor. Workflow instances started when this number is exceeded will be queued for later processing. The default value is 15. This setting is per-farm so number of web front ends is irrelevant.

The impact of this setting is that when workflow X is to be initially started, the number of currently active workflows is checked. If it exceeds the throttle number, workflow X is not started and instead, a timer job is created to try running the workflow again later. If the number of currently active workflows is less than the throttle setting, then the workflow is started.

The current throttle setting can be checked by running the following command:

stsadm -o getproperty -pn workflow-eventdelivery-throttle

The throttle setting can be changed by running the following command:

stsadm -o setproperty -pn workflow-eventdelivery-throttle -pv "25" (where 25 is the new value)

The throttle property exists to allow you to control how many resources workflows take up in your environment. Because you cannot designate dedicated "workflow servers" the way you can for Index/Query/Excel/etc. servers in SharePoint, we need another mechanism to keep workflows from overrunning your environment.

Throttle is likely the most important setting to get right in your environment. Unfortunately, there is no magic formula to calculate what you should set this property to. It is going to be highly dependent upon your environment and the details of your workflows. The only advice is to adjust the setting and monitor your environment. Continue to adjust and monitor until you reach an acceptable level of performance for both workflows and regular site operations.

Last modified at 7/29/2009 10:38 AM  by Dave 
SharePoint Server MVP Community Kit for SharePoint Philly Office Geeks ISPA