Uploaded image for project: 'CouchDB'
  1. CouchDB
  2. COUCHDB-1218

Better logger performance

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • None
    • None
    • None
    • None

    Description

      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-2EBECF271850@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

      Attachments

        1. 0001-Better-logger-performance.patch
          5 kB
          Filipe David Borba Manana

        Issue Links

          Activity

            People

              fdmanana Filipe David Borba Manana
              fdmanana Filipe David Borba Manana
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: