BatchSize

Maximum messages retrieved per recvmmsg() call when available.

This parameter applies to imudp: UDP Syslog Input Module.

Name:

BatchSize

Scope:

module

Type:

integer

Default:

module=32

Required?:

no

Introduced:

at least 8.x, possibly earlier

Description

This parameter is only meaningful if the system supports recvmmsg() (newer Linux systems do this). The parameter is silently ignored if the system does not support it. If supported, it must be between 1 and INT_MAX and sets the maximum number of UDP messages that can be obtained with a single OS call.

For systems with high UDP traffic, a relatively high batch size can reduce system overhead and improve performance. However, this parameter should not be overdone. For each batch element, rsyslog statically allocates the configured maximum message size plus receive metadata. Configurations whose combined dimensions cannot be represented by the platform’s address space are rejected. A too-high number can also reduce efficiency because the metadata structures must be initialized before each OS call. We suggest not setting it above 128 unless measurements show a benefit.

Module usage

module(load="imudp" BatchSize="...")

See also

See also imudp: UDP Syslog Input Module.


Support: rsyslog Assistant | GitHub Discussions | GitHub Issues: rsyslog source project

Contributing: Source & docs: rsyslog source project

© 2008–2026 Rainer Gerhards and others. Licensed under the Apache License 2.0.