Fine-tuning bulk operation processing
Learn how to configure the Edge Flow Manager (EFM) bulk operation updates. You can find
the related configuration in the
efm.properties file located in the
conf directory of the EFM installation.
EFM sends updates to agents through operations. The operations can be divided in the following types:
- Agent level: This is for one individual agent. For example, the Debug request.
- Agent class level: This is for all agents under an agent class. For example, flow update, asset download, property update, and so on.
This documentation describes different configuration scenarios to optimize the agent class level updates.
In order to avoid heavy network loads and prevent Distributed Denial-of-Service (DDoS)-like behavior from agents, the EFM sends updates to agents in smaller batches.
You can find all operation update related configurable parameters in the following list:
# The maximum number of operations queued to be sent at once efm.operation.monitoring.rollingBatchOperationsSize=100 # The interval for refreshing the operation queue efm.operation.monitoring.rollingBatchOperationsFrequency=10s # The multiplier for agent heartbeat interval properties # to calculate timeout for queued operation efm.operation.monitoring.inQueuedStateTimeoutHeartbeatRate=1.0 # The timeout for deployed, but not done operations efm.operation.monitoring.inDeployedStateTimeout=5m # The interval for checking operation timeouts efm.operation.monitoring.inDeployedStateCheckFrequency=1m # Enable/disable operation timeouts efm.operation.monitoring.enabled=true # Agent heartbeat interval monitor properties # Default value efm.monitor.maxHeartbeatInterval=5m # Class specific values efm.monitor.maxHeartbeatIntervalForClass.[Class\ A]=1m efm.monitor.maxHeartbeatIntervalForClass.[Class\ B]=2m efm.monitor.maxHeartbeatIntervalForClass.[Class\ C]=0m
Let us go through the scenarios one by one and see what can change a given parameter in the example deployment with 10000 agents.