syslog-ng to replace syslogd

Lennert Buytenhek buytenh at wantstofly.org
Sun Aug 22 12:19:19 UTC 2004


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:

	while (1) {
		logbuf = blocking_read(syslog_socket);
		while (space_left(logbuf) && data_available(syslog_socket))
			logbuf .= nonblocking_read(syslog_socket);

		write_to_log_files(logbuf);
	}

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.

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

Just a thought.


cheers,
Lennert





More information about the fedora-devel-list mailing list