You are viewing limited content. For full access, please sign in.

Question

Question

Suggestions for Improving Workflow Performance

asked on June 23, 2017

So my new workflow works! YAY, but it's slow in the test system. I'm afraid what it'll do production once I roll it out. Any thoughts on how I can improve the search performance?

Thanks in advance!

0 0

Answer

SELECTED ANSWER
replied on June 23, 2017

My recommendation would be to break it up into two different workflows so you can use concurrency as the way it runs now is all in sequence one thing at a time.

The first workflow would simply be a search and in your for each, you would invoke the second workflow which would house the rest of your activities. This way, they all run in parallel. Keep in mind this could invoke a high number of searches and impact your system as searches are expensive. You would have to do minor modifications to get this to work.

As for other expensive things, track tokens and resolving paths are expensive, if you do not need it I recommend clicking the exclude path column in your search activity.

0 0

Replies

replied on June 23, 2017

Gloria,

Search activities tend to be among the longest activities in a Workflow process, but it would help if you could show us the Activities tab from a test instance sorted by Duration to see which activities are actually taking up the most time.

0 0
replied on June 23, 2017

Assign Current Name Token activity does not do anything, it just creates a "currentName" token and assigns it to the current entry name. You can just delete it and use %(ForEachEntry_CurrentEntry_Name).

For Each Value is not needed since you only work with one entry at a time while you're in For Each Entry.

For the last search, since you know the path and the name, you can replace it with Find Entry which is more efficient.

Like John said, this workflow would be better if you moved everything that's inside For Each Entry into a separate workflow and just invoked it.

How many results is the first search expected to return?

 

0 0
replied on June 26, 2017

The first search is expected to return 11 results. Before making the recommended changes, it took almost 5 minutes on each found result. After making the following changes:

1. split the workflows into two;

2. clicked the exclude path column in your search activities;

3. deleted "currentName" token and used %(ForEachEntry_CurrentEntry_Name) instead;

4. deleted the "For Each Value";

5. replaced the final search with "Find Entry ";

which improved to under a minute each. Thanks, everyone, for your input!

0 0
You are not allowed to follow up in this post.

Sign in to reply to this post.