Symptoms
Issue:
Client has IPC events that at times it is rather slow.
Normally the IPC's would start almost immediately and complete quickly, but there are also times where it may take one minute or more for the sub-process to be started or completed and this makes testing these process rather slow.
Is there a way to find the cause for this problem and a possible solution?
Diagnoses
Diagnosis:
From my understanding A one minute delay between processes is normal. There are ways to speed up this time, however it should be done carefully.
Please have a look at the following:
http://help.k2.com/kb001446
This document explains the IPC functionality. Specifically the IPCThreadInterval, which controls how often new items in the IPC table are sent to the IPC thread pool.
Please note that increasing the thread count will add extra strain to the K2Server. This should be monitored and adjusted accordingly
**Client Had the following questions after initial explanation:**
Question 1:
As client was checking his processes he noticed that it was indeed around 1 minute for a sub-process to start, but it takes 2 minutes for the sub-process to get back to the main process. Is there an explanation for this behavior as well?
Response:
Depending on how many processes are running with IPC Events this could be why some are instant and some take upto a minute.
Meaning that if there is a workflow with an IPC event that has multiple sub processes related to that event they would use up threads, so if the IPC event has four processes than that would use 4 threads.
Also if possible try having the IPCThreadInterval dropped to 45 to test if this will enable them to go complete at a better pace
Question 2:
What could be the case with the amount of time it requires to return to the main process? Any way to perhaps speed up that part as well, because 2 minutes is quite some time compared to the 1 minute to start.
Response pointed client to the following community article:
http://community.k2.com/t5/K2-blackpearl/IPC-Event-processing-delays/ta-p/80934
Resolution
Resolution:
Client set the IPCThreadInterval to 30 seconds and this has decreased the time it takes for sub-process to go to main process by half the time it previously took to complete.