Wednesday, March 4, 2015

Improve work flow performance in SharePoint



Improve work flow performance in SharePoint

Many of the reasons work flow ‘s work will less performance as expected. we may encounter the below issues while we run the work flows.

Errors:
1.   When a item added to the library it takes some times to initiate the workflow.
2.   Workflow mail generating is not very fast sometimes.
3.   Workflows takes more time to process
4.   “Due to heavy load, the latest workflow operation has been queued. It will attempt to resume at a later time” is coming sometimes.
5.   I had a custom workflow approval web part and it is taking more than 30 seconds to proceed.

Improve performance of work flow:

There are some ways that can improve the performance of the workflows. In this article I am mentioning the ways to improve as per my experience.

1.   Increase Throttle Size
2.   Increase Batch Size
3.   Time Out
4.   Workflow Timer Interval

Increase Throttle Size :

The workflow throttle setting controls how many workflows can be processing at any one time on the entire server farm”. since if you can increase the throttle it will help to increase the number of workflows running at a time.
Following command shows how to get the existing value. the default is set to 15. from SharePoint shell to execute this command. 

stsadm -o getproperty -pn workflow-eventdelivery-throttle

You can change the value by using following command. Below example change the current value to 25.

stsadm -o setproperty -pn workflow-eventdelivery-throttle -pv "25"

Increase Batch Size

Bbatch size property controls how many work items waiting to be processed by the timer service will be executed in each run” Therefore if we increase the Batch Size there will be more workflow items ready to execute in the next time. Batch size is improving performance in Immediate Execution and Timer Job.
Following command shows the current batch size in the farm.

stsadm -o getproperty -pn workitem-eventdelivery-batchsize

as you can see default value is set to 100. following command will increate the size to 125. 

stsadm -o setproperty -pn workitem-eventdelivery-batchsize -pv "125"

Time Out

Timeout specify the time which can be take maximum to complete the workflow timer job. of cause not finished timers jobs can  proceed in next cycle. this value is specify in minutes. default value is 5.

Following command shows how you can view the current configuration.

stsadm -o getproperty -pn workflow-eventdelivery-timeout

Following command will change the existing value to 10.

stsadm -o setproperty -pn workflow-eventdelivery-timeout -pv "10"

Workflow Timer Interval

Workflow timer Interval how often SPtimer job should run to process workflow items. this is specify in the application level not in the farm level like others.
following command shows the current setting of the web application.

stsadm -o getproperty -pn job-workflow -url http://Webapplication

If you type wrong URL following error will come.

SPTimer schedule string format
Meaning
"Every 10 minutes between 0 and 30"
Timer fires every 10 minutes from the top of the hour to half past the hour
"Hourly between 9 and 17"
Every hour from 9 A.M. to 5 P.M.
"Daily at 15:00:00"
Timer fires every day at 3 P.M.
"Monthly at 15 15:00:00"
Timer fires on the 15th of every month at 3 P.M.
Following table shows the values you can set for the property. 

Following command set the workflow timer interval.

stsadm -o setproperty -pn job-workflow -pv "Every 10 minutes between 0 and 30" -url http://webapplication:port

 


I hope the above information will help you to resolve the issue, in case of any queries/questions regarding the above mentioned information then please let me know. I would be more than happy to help you as well as resolves your issues, Thank you.

No comments:

Post a Comment

Your feedback is Much Appreciated. I will try to reply to your queries as soon as possible!!Anil Avula

ShareThis

X