[ 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/%3c5c39fb5a-0aca-4ff9-bd90-2ebecf271...@apache.org%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