Skip to main content

Collection Concurrency and Rate Limits

The Forward Collector's concurrency configuration can be changed from the default value of 32 to a maximum of 1024 threads. During snapshot collection or connectivity tests, the Forward Collector opens SSH sessions to network devices, up to the configured number of concurrent connections, and executes all relevant platform-specific commands within each thread.

There are several reasons why concurrency configuration might need to be adjusted:

  • Increased snapshot collection speed: A higher thread count results in a faster overall snapshot collection process.
  • Improved snapshot collection stability: Lowering the number of concurrent threads can enhance stability. A high number of concurrent threads increases request rates to the AAA server, leading to higher resource utilization. If the concurrency setting is too high, it may cause instability, potentially resulting in false-positive auth failed collection statuses for many network devices.
  • Configuring device or connection concurrency for jump servers.

The concurrent collections configuration setting controls the number of concurrent threads used during both snapshot collection and connectivity testing.

Configuring Forward Collector Concurrency Setting

Navigate to Collection > Collection Settings > Collector > Concurrencies, then set the parameters to the desired values.

Collector Concurrency

You can configure collection concurrency separately for devices that connect through jump servers and those that do not by setting concurrency parameters independently:

  • Global concurrency (optional): The total number of concurrent connections, including those through jump servers. The default value is 32, and the maximum is 1024.
  • Devices per jump server (optional): The maximum number of devices behind a jump server that the Forward Collector will attempt to collect from concurrently. This limit applies to devices sharing the same jump server. There is no default value, and the maximum is equal to the Global concurrency parameter.
  • Connections per jump server (optional): The maximum number of concurrent unauthenticated connections to a jump server’s SSH daemon (sshd). Once a client’s credentials are validated, its connection no longer counts toward this limit. The default value is 8, and the maximum is equal to the Global concurrency parameter.
  • API requests per cloud provider: The maximum number of parallel API requests that can be used to collect data from a cloud provider. The default value is 32, and the maximum is equal to the Global concurrency parameter minus 1.
  • Extra per device: The maximum number of additional SSH connections that can be used for each device to speed up data collection that can be performed in parallel (e.g., VRFs). These additional connections do not count toward the global maximum. The default value is 0, and the maximum is equal to the Global concurrency parameter minus 1.

Configuring Forward Collector Rate limits Setting

Navigate to Collection > Collection Settings-> Collector > expand Advanced Network Collection Settings > Rate Limits, and set the parameters to the desired values.

Collector Rate Limits

  • Maximum device authentications: The maximum number of device authentication requests per second. The default value is 1000, with a configurable range between 1 and 1000. This parameter allows you to limit TACACS authentication load from the Forward Collector for devices in the network.
  • Maximum device command authorizations: The maximum number of device command authorizations per second across all devices in the network. The default value is 1000, with a configurable range between 1 and 1000. The Forward Collector issues various commands to collect data from each device, and this parameter limits the rate at which commands are issued per second.