[ 
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)

Reply via email to