For maximum throughput, the queue lengths should preferably be set so that the subsequent module can have all its threads pick one message from the queue without depleting it. You can allow the preceding module time to produce new entries by setting the queue length to 1.5 *, which is the number of worker threads of the subsequent module. The subsequent module will pick up the number of worker threads at the same time.
Implement these installation settings for queues:
Queue.class.Receive.MaxLengthHint = 1,5 * Runtime.DetectionWorker.MaxWorkers Queue.class.Process.MaxLengthHint = 1,5 * Runtime.ProcessWorker.MaxWorkers Queue.class.Agreement.MaxLengthHint = 1,5 * Runtime.AgreementWorker.MaxWorkers