Interactive flowchart management

Every interactive flowchart requires at least one thread to run. You can monitor a live system to see whether there are enough threads for all the interactive flowcharts.

Using JMX console, monitor the JMX statistics CurrentJobsInProcessBoxQueue and CurrentJobsInSchedulerQueue under com.unicacorp.interact.flowchart. Ideally, they should be zero even under peak load, which implies there are enough threads to handle the requests for flowchart executions.

Note: Running the JMX console does impact performance. You should not run the JMX console in a production environment except when diagnosing an issue.

You can control these queues with the number of threads used by interactive flowcharts. You set flowchart thread pool sizes in Unica for Unica Interact runtime under Interact > flowchart.

  • Set maxNumberOfFlowchartThreads to be at least the maximum number of concurrent users expected on the Unica Interact client. For example, if the maximum number of concurrent users is 50 and each call to segmentation runs one flowchart, set maxNumberOfFlowchartThreads to 50.
  • Set maxNumberOfProcessBoxThreads based on the average number of concurrent paths in the flowcharts and whether the flowcharts are CPU bound or I/O bound. It should be at least equal to maxNumberOfFlowchartThreads. For example, if the average number of concurrent paths in the flowcharts is 2 and all the process boxes are CPU bound, set maxNumberOfProcessBoxThreads to be 2*maxNumberOfFlowchartThreads. If the process boxes are I/O bound (for example if they perform database lookups or writes, such as a Select or Snapshot process), then that number might need to be set to a larger value.
  • Set minNumberOfFlowchartThreads to be the same as maxNumberOfFlowchartThreads. Likewise, set minNumberOfProcessBoxThreads to be the same as maxNumberOfProcessBoxThreads.