couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benoit Chesneau (JIRA)" <>
Subject [jira] [Commented] (COUCHDB-2097) Avoid performance regression with a single fd
Date Tue, 01 Jul 2014 05:54:24 GMT


Benoit Chesneau commented on COUCHDB-2097:

@Russel Branca what are you calling tolerable limit? This change has the following effect:

1. read and writes are all waiting first that the couch_updater process become available.
reads to get the latest db value. Updates happen in the updater process and can be long.
2. then when a read happen it will still wait for writes ince they all share the same couch_file

This is a huge regression compared to the current separation where:

1. read and write are all waiting for the couch_db process, but it is only done so for read
the latest db value is returned and for update the pid. They no longer wait for a write.
2. read and write have 2 different file processes.

So read and write are more concurrent right now compared to the new situation where everything
share the same queue and is serialised. It is very noticable on 1 node today when you have
a lot of writes consecutives to reads.

Anyway we need figures before to close this ticket imo.

> Avoid performance regression with a single fd
> ---------------------------------------------
>                 Key: COUCHDB-2097
>                 URL:
>             Project: CouchDB
>          Issue Type: Improvement
>      Security Level: public(Regular issues) 
>          Components: BigCouch
>            Reporter: Paul Joseph Davis
>              Labels: release
>         Attachments: mike-wallace-fd-benchmarks.txt
> Part of one of our large enhancements required that we remove a CouchDB performance optimization
on having two file handles to each .couch file. We need to make sure that this doesn't negatively
impact performance.

This message was sent by Atlassian JIRA

View raw message