On Tue, 10 Mar 2015, Boylan, James wrote:
Greetings everyone!
Is there a hardcoded maximum number of worker threads for queues and threads
for imtcp/imudp? Also what are the concerns with using a higher number of
threads for handling of these.
There is probably a max number of threads, but it is almost certinly much higher
than you should need to go before the limiting factor will be the speed of your
connection. a couple thread can handle a saturated gig-E network (at least
without encryption or compression), at ~400k logs/second
The problem you run into with too many threads is that message batching doesn't
take place, each thread grabs one message and puts it on the queue. Doing this
one message at a time results in a lot of locking overhead and can end up
drastically slowing down all work. The threads that try to retrieve the messages
from the queue end up having trouble getting the lock to be able to do work
because they are competing against the thread trying to add messages. The
batching process drastically reduces the amount of time the main queue is locked
to process a given set of messages.
We've seen cases where people set the number of threads in the 4-8 range and
found they were getting much worse throughput than when they had it set to 1.
This is really something that you need to measure, both under full load and
under partial load
I find myself in a position to have to scale central logging servers
vertically and I'm attempting to locate the risks and issues of increasing
these numbers.
what sort of log numbers and traffic volume are you looking at?
David Lang
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE
THAT.