Excerpts from David Lang's message of 2014-12-16 20:41:49 +0100:
> On Tue, 16 Dec 2014, Marc Fournier wrote:
> 
> > Hello,
> >
> > openldap writes its logs using syslog(3). Three log messages are emitted
> > for each ldap search operation.
> >
> > On a given openldap setup, I reach about 2500 operations per second. The
> > simple fact of shutting rsyslog down icreases this number up to 5000
> > (logs are lost obviously).
> >
> > Writing to a local file, to /dev/null, or to a remote server over UDP
> > doesn't significantly change this number. I tried tweaking various
> > settings related to the main queue but didn't see any huge difference.
> >
> > ipmstats shows exactly the same numbers for "imuxsock: submitted" than
> > for "main Q: enqueued". All the discarded/full/failed/etc counters have
> > a value of 0.
> >
> > This is rsyslog-8.6.0-2.el6.x86_64 from the adiscon RPM repo (but had
> > similar problems with version 5.8.10-9.el6_6 which comes with el6).
> >
> > Here's the relevant bits of my config:
> >
> > module(load="impstats" log.syslog="off" log.file="/var/log/impstats.log" 
> > resetCounters="off" interval="5")
> > module(load="imuxsock" SysSock.RateLimit.Interval="0" 
> > SysSock.Annotate="off" SysSock.FlowControl="off" 
> > SysSock.IgnoreTimestamp="off")
> >
> > $MaxMessageSize 2k
> >
> > $MainMsgQueueDequeueBatchSize 1024
> > $MainMsgQueueType LinkedList
> > $MainMsgQueueSize 100000
> > $MainMsgQueueWorkerThreads 1
> >
> > $RepeatedMsgReduction off
> > $SystemLogRateLimitInterval 0
> >
> > $ActionQueueType LinkedList
> > $ActionQueueSize 100000
> > $ActionQueueDiscardMark 95000
> > $ActionQueueDiscardSeverity 0
> > $ActionQueueTimeoutEnqueue 0
> > $ActionQueueDequeueSlowdown 1000
> > $ActionQueueWorkerThreads 2
> > $ActionQueueDequeueBatchSize 128
> > $ActionResumeRetryCount -1
> >
> > #local4.*  -/var/log/ldap/ldap.log
> > #local4.*  ~
> > local4.*  -/dev/null
> > #local4.*  @localhost
> >
> > So I'm wondering which one of rsyslog or /dev/log is actually the
> > bottleneck here and what can I do about it ?
> 
> /dev/log is just a socket to talk to rsyslog
> 
> One major problem here, why do you have ActionQueueDequeueSlowdown 
> configured? 
> that deliberatly pauses before trying to process the next messages.
> 
> you really shouldn't need to have an action queue for writing to a local 
> file, 
> you should remove all of the actionqueue parameters (and if you do decide 
> that 
> you want a queue, use the new action() syntax, it makes it much clearer 
> what's 
> happening)

Ok, right my config is a mess I agree ! Been iterating over it since
back when I used 5.8.10.

So I started over with a brand new config. The best results I got so far
was with these settings:

module(load="impstats" log.syslog="off" log.file="/var/log/impstats.log" 
resetCounters="off" interval="5")
module(load="imuxsock" SysSock.RateLimit.Interval="0" SysSock.Annotate="off" 
SysSock.FlowControl="off" SysSock.IgnoreTimestamp="off")

$MaxMessageSize 2k

$MainMsgQueueDequeueBatchSize 4096
$MainMsgQueueType LinkedList
$MainMsgQueueSize 250000
$MainMsgQueueWorkerThreads 4
$MainMsgQueueWorkerThreadMinimumMessages 100000

$RepeatedMsgReduction off
$SystemLogRateLimitInterval 0

*.*  ~

The numbers are slightly better now: ~3500 ops/s vs 2500 yesterday. But
still a significant difference with the max I reach when running with
rsyslogd stopped (~5000 ops/s).

Is this an expected compromise ? Or are there possible improvements I
can do ?

Thanks for sharing your wisdom !

Marc
_______________________________________________
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.

Reply via email to