Scenario: Frenquency and size of batch operation

Learn how you can control the frenquency of triggering a new batch operation, the number of agents that should receive the new operation, and resolve the issue of network saturation.

Scenario
You have 10000 agents and the operation is to download a 100 MB asset to each agent from EFM. The expectation is that an average agent is able to download that asset in 20-30 sec (3-5MB/s). Assume that EFM is able to deal with 100MB/s network IO for this purpose. So, you can see that roughly 20-30 parallel operations can be handled by EFM. This could easily cause network saturation.
Analysis
On the following diagram you can see with the rollingBatchOperationsFrequency parameter you can define how often EFM tries to trigger a new batch operation, and the rollingBatchOperationsSize parameter defines how many agents should receive the new operation.


Solution
A good starting point could be rollingBatchOperationsSize=20 and rollingBatchOperationsFrequency=5s. In the first 1-4 iterations, the queue becomes full but after it diverges, the operation behaves as expected. The expectation is that roughly 25% of the queue will be free in each iteration with 5s frequency.