couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paul Joseph Davis (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (COUCHDB-2097) Avoid performance regression with a single fd
Date Sat, 05 Jul 2014 16:50:34 GMT

    [ https://issues.apache.org/jira/browse/COUCHDB-2097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14052914#comment-14052914
] 

Paul Joseph Davis commented on COUCHDB-2097:
--------------------------------------------

Erm, we already do the protected ets table approach:

https://github.com/apache/couchdb-couch/blob/1843-feature-bigcouch/src/couch_server.erl#L73
https://github.com/apache/couchdb-couch/blob/1843-feature-bigcouch/src/couch_server.erl#L196

It proved to be significantly faster than trying to store state in the couch_server process
because that process also has to handle the LRU update messages from each couch_db_updater
which can cause significant slowness. The current LRU implementation has been refined a number
of times to ensure that the server can keep up with the largest loads we can place on it.
Not sure where you saw the protected ets table being slower than message passing. I'd be interested
in reading about why that is because I've never seen that be the case.

I agree that we can change this in master once we get merge things straightened out. I would
like to replace the current monitor-based ref counting with something link based so that couch_file's
don't have a 10 second latency to close because that hampers testing large scale database
and view combinations.



> Avoid performance regression with a single fd
> ---------------------------------------------
>
>                 Key: COUCHDB-2097
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-2097
>             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
(v6.2#6252)

Mime
View raw message