Excerpts from David Lang's message of 2014-12-21 07:24:36 +0100: > On Sat, 20 Dec 2014, Marc Fournier wrote: > > > Excerpts from David Lang's message of 2014-12-19 18:25:27 +0100: > >> > >> On Fri, 19 Dec 2014, Marc Fournier wrote: > >> > >>> - no rsyslog running: 15k to 17k ldap operations/second > >>> - rsyslog with above config, except for MainMsgQueueWorkerThreads back > >>> to 1: down to 7.5k ops/s > >> > >> wihtout rsyslog running, there shouldn't even be a /dev/log to write to, > >> so any > >> logging should be a noop. > >> > >> are you running systemd by any chance? > > > > No. All this is on an up to date rhel6, which predates systemd. > > > > I basically wanted to compare the throughput of openldap with vs without > > logging. > > > > My point here is that openldap has no way of knowing that nothing is > > reading /dev/log. The same code paths leading to syslog() are used, etc. > > It apparently just suffers from the performance issues downstream. > > well, if rsyslog isn't running and /dev/log doesn't exist, openldap may be > short-circuting the logging output as it detects that there isn't anyplace to > write to
Browsing through openldap's code, the logging part seems pretty basic. One call to openlog() at initialisation time, then calls to syslog() via wrapper functions. I'm not very familiar with this codebase, but it really doesn't seem to do anything fancy like you suggest. I tried running openldap with the "loglevel none" directive, and I reach 30k ops/sec (as opposed to 15k with logging enabled but no /dev/log). So if openldap does some sort of short-circuit in this case, there definitely is room for improvement... > >> let's simplify the config more, try making it just > >> > >> module(load="impstats" log.syslog="off" log.file="/var/log/impstats.log" > >> resetCounters="off" interval="5") > >> module(load="imuxsock" SysSock.RateLimit.Interval="0") > >> $MaxMessageSize 2k > >> $MainMsgQueueDequeueBatchSize 4096 > >> $RepeatedMsgReduction off > >> > >> *.* ~ > >> > >> The next step I would try is to change the parser settings to avoid wasting > >> effort trying to parse the message, but I would be a bit surprised if that > >> was > >> the problem here. > > > > Thanks ! I'll give this a try on monday. I tried this. It performed slightly less well (around -10%) than the version with "$MainMsgQueueType LinkedList" I reported the other day. Thanks ! Cheers, 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.

