[
https://issues.apache.org/jira/browse/COUCHDB-1218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13064500#comment-13064500
]
Robert Newson commented on COUCHDB-1218:
----------------------------------------
Ok, I get that. I wonder if we can't make a simple module that does those
things (the async queue, flush for errors, etc) without pulling in disk_log?
disk_log demonstrates that those things improve logging performance, which is a
good thing. Doing likewise in couch_log would give us the boost and keep the
simplicity.
I mention syslog in passing because we generally replace/disable couch_log
anyway (sending output to /dev/null and using runit to capture console output
to a managed log file, or replacing it with a custom logger that sends to
syslog). A program that manages its own log files, rather than integrating with
the OS's logging system is generally annoying to manage. I'd keep this one
simple.
> Better logger performance
> -------------------------
>
> Key: COUCHDB-1218
> URL: https://issues.apache.org/jira/browse/COUCHDB-1218
> Project: CouchDB
> Issue Type: Improvement
> Reporter: Filipe Manana
> Assignee: Filipe Manana
> Attachments: 0001-Better-logger-performance.patch
>
>
> I made some experiments with OTP's disk_log module (available since 2001 at
> least) to use it to manage the log file.
> It turns out I got better throughput by using it. Basically it adopts a
> strategy similar to the asynchronous couch_file Damien described in this
> thread:
> http://mail-archives.apache.org/mod_mbox/couchdb-dev/201106.mbox/%[email protected]%3E
> Here's a benchmark with relaximation, 50 writers, 100 readers, documents of
> 1Kb, delayed_commits set to false and 'info' log level (default):
> http://graphs.mikeal.couchone.com/#/graph/9e19f6d9eeb318c70cabcf67bc013c7f
> The reads got a better throughput (bottom graph, easier to visualize).
> The patch (also attached here), which has a descriptive comment, is at:
> https://github.com/fdmanana/couchdb/compare/logger_perf.patch
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira