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.