Content-Description: message body text content-type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-RT-Original-Encoding: us-ascii Content-Length: 1200 Hi I've been using permanent query logging to plain files on moderately busy systems (1000-2000 qps, authoritative-only server) for a long time to have a short backlog of incoming queries. In a recent change of our setup, we started writing the query log to an NFS file system. The unbuffered output mode of named for logging to a file together with a (rather weird) behaviour of the standard Linux nfs Client led to massive iowait times which created significant jitter in query response times. I found that I could get rid of this jitter completely by using buffered I/O for the query log. The attached simple-minded patch adds the boolean option "buffered" to the "channel" configuration phrase, e.g. channel my_queries { file "/var/log/bind/queries" versions 15 size 2m; severity info; print-time yes; buffered yes; }; The patch simply skips the fflush() call in lib/isc/log.c and should have no effect on channels that do not log to a file. This works fine on a busy system but needs some polishing to make it robust (like flushing regularly). I also don't know if it has any side-effects. Can you please consider to add this functionality to BIND9? Regards, Alex