WorkerThreads¶
Sets the default number of worker threads for listeners on epoll-enabled systems.
This parameter applies to imtcp: TCP Syslog Input Module.
- Name:
WorkerThreads
- Scope:
module
- Type:
integer
- Default:
module=2
- Required?:
no
- Introduced:
8.2504.0
Description¶
The WorkerThreads parameter defines the default number of worker threads for all imtcp
listeners. This setting applies only on epoll-enabled systems. If epoll is unavailable,
imtcp will always run in single-threaded mode, regardless of this setting.
Default value: 2
Allowed values: 1 (single-threaded) to any reasonable number (should not exceed CPU cores).
Behavior and Recommendations
If set to
1,imtcpoperates in single-threaded mode, using the main event loop for processing.If set to
2or more, a worker pool is created, allowing multiple connections to be processed in parallel.Setting this too high can degrade performance due to excessive thread switching.
A reasonable upper limit is the number of available CPU cores.
Scope and Overrides
- This is a module-level parameter, meaning it sets the default for all imtcp listeners.
- Each listener instance can override this by setting the workerthreads listener parameter.
Example Configuration The following sets a default of 4 worker threads for all listeners, while overriding it to 8 for a specific listener:
module(load="imtcp" WorkerThreads="4") # Default for all listeners
input(type="imtcp" port="514" workerthreads="8") # Overrides default, using 8 workers
If WorkerThreads is not explicitly set, the default of 2 will be used.
Module usage¶
module(load="imtcp" workerThreads="4")
See also¶
See also imtcp: TCP Syslog Input Module.
Support: rsyslog Assistant | GitHub Discussions | GitHub Issues: rsyslog source project
Contributing: Source & docs: rsyslog source project
© 2008–2025 Rainer Gerhards and others. Licensed under the Apache License 2.0.