Queue size and persistence
- Last UpdatedJun 29, 2026
- 2 minute read
Queue Size
Increasing the message queue size is recommended when a queue gets full due to message bursts where the default setting (100 messages) is exceeded, but the average rate is still manageable. In this scenario, it is best to set the queue size slightly above the maximum expected burst size.
Verify the configuration in a remote session to ensure the system does not report warnings about full queues.
Tip: If the average message rate exceeds what a flow can process, apply one of the queue modes to reduce the message rate to a manageable level.
Persistence
Persistence is the storage of messages to ensure they are not lost if the message handler, server, or network crashes, while ensuring they are only delivered once. Persistence is mainly useful for output modules and should be used with care. AVEVA does not recommend using persistence in streaming- and high-frequency use cases.
Persistence might be enabled for the following reasons:
-
If the host server, flow runtime or flow crashes, the system retrieves undelivered messages from disk after restart.
-
If retry attempts are exhausted, the system moves messages to a dead letter queue instead of dropping them. You can retrieve these messages with the flow runtime API. This scenario requires custom application development.
By default, the system keeps failed or unprocessed messages for 24 hours and are stored in memory. The Persistent Messages Enabled module setting is used to enable persistent queues.
Important: Enabling persistent messages on a module means that all messages received by the module are written to disk. This could have a major performance impact resulting in extensive disk operations, which could be devastating on low-durability solid-state drives (SSDs).