IPC workflow performance issues

  • 24 February 2022
  • 0 replies
  • 25 views

Userlevel 5
Badge +20
 

IPC workflow performance issues

kbt142019

PRODUCT
K2 blackpearl
BASED ON
K2 blackpearl (all)
SEE ALSO
 
K2 Server Thread Pool settings  TAGS
K2 Server
This article was created in response to a support issue logged with K2. The content may include typographical errors and may be revised at any time without notice. This article is not considered official documentation for K2 software and is provided "as is" with no warranties.
LEGACY/ARCHIVED CONTENT
This article has been archived, and/or refers to legacy products, components or features. The content in this article is offered "as is" and will no longer be updated. Archived content is provided for reference purposes only. This content does not infer that the product, component or feature is supported, or that the product, component or feature will continue to function as described herein.

Issue

Some delays were observed that could range from 30 seconds to 2 hours when an IPC workflow was started by a parent workflow.

Symptoms

Workflows are not completing as expected and performance on the server decreases dramatically.

Troubleshooting Steps

While observing running instances in the Server.PrccInst Table, there was a great number of instances found that exceeded the 20 thread limit configured at that time on the server. In the Server.IPC table there was an amount exceeding 100000 instances which could not be managed by the 5 IPC threads configured.

 

Next, investigate the issue by changing the number of main threads and IPC threads. After this has been changed, have a look at the running workflows to validate whether the IPC instances are created synchronously or asynchronously.

 

If the IPC instances are created synchronously, the main workflow instance will stay active until all IPC instances are completed. (Design on this can be reviewed.)

 

Do not change the amount of threads in big chunks, but rather increase the thread in small amounts and testing until the desired amount is reached. For example: Change main threads from 20 to 30 to 40 to 50.


After this is done, observer the active and running instances and see if the total amount of active and running instances decrease as expected.


0 replies

Be the first to reply!

Reply