syslog-ng to replace syslogd

Russell Coker russell at coker.com.au
Sun Aug 22 13:36:57 UTC 2004


On Sun, 22 Aug 2004 22:19, Lennert Buytenhek <buytenh at wantstofly.org> wrote:
> On Sun, Aug 22, 2004 at 10:12:00PM +1000, Russell Coker wrote:
> > In most cases synchronous writes for logs just reduces performance for no
> > benefit.
>
> (I didn't check whether it does this already.)  Wouldn't it be possible
> to speed up synchronous syslogging with something like this:
>
> That way, if you get a burst of log messages, the first sync write
> would write out just a single line, and all the next writes would
> write out everything that accumulated in the buffer so far in one
> single sync write.

Your pseudo-code didn't clearly explain your intent.

> That way, you still get sync behaviour, but without the
> whole-disk-roundtrip-per-log-line overhead.

Usually when there's a lot of logging the performance of the syslogd itself is 
not the issue.  The problem is that synchronous writes kill file system 
performance and interfere with the performance of other programs in the 
system.  Synchronous syslogd operation can reduce performance of a server 
that's bottlenecked by disk writes by 20% or more.  For a serious mail server 
you don't want the mail facility log entries to go to a synchronous file.  
The synchronous writes to the mail queue and for mail delivery hurt enough.

If the performance of the syslogd itself is the issue then you have no option 
but to turn off synchronous writes.  For this situation it would be good if 
there was an option to select whether the daemon should write directly but 
not synchronously or whether it should wait for page-sized buffers (IE use 
fwrite()).

-- 
http://www.coker.com.au/selinux/   My NSA Security Enhanced Linux packages
http://www.coker.com.au/bonnie++/  Bonnie++ hard drive benchmark
http://www.coker.com.au/postal/    Postal SMTP/POP benchmark
http://www.coker.com.au/~russell/  My home page





More information about the fedora-devel-list mailing list