You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by "Randall Leeds (JIRA)" <ji...@apache.org> on 2010/12/04 22:35:11 UTC

[jira] Commented: (COUCHDB-976) Improve database read and write performance using 2 couch_files

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

Randall Leeds commented on COUCHDB-976:
---------------------------------------

Wonderful!!

Your results confirm all my expectations about this patch.
It looks great to me.

I would keep your ets-based cache patch in mind and be sure that it will be easy enough to share one cache even with two FDs, but otherwise I have zero concerns.

> Improve database read and write performance using 2 couch_files
> ---------------------------------------------------------------
>
>                 Key: COUCHDB-976
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-976
>             Project: CouchDB
>          Issue Type: Improvement
>            Reporter: Filipe Manana
>            Assignee: Filipe Manana
>
> Right now we use a single couch_file server for both updating a database and reading from a database.
> This is a contention point, as concurrent read/write access to a database implies having processes waiting for access to the couch_file server.
> The following patches add a couch_file server that is used only by the DB updater process and another couch_file meant to be used by anyone else only for read operations:
> https://github.com/fdmanana/couchdb/compare/updater_dedicated_fd
> Some performance measurements:
> # updater_fd vs trunk  (small docs, 1Kb each)
> $ node tests/compare_write_and_read.js --wclients 50 --rclients 200 \
>   -name1 updater_fd_small_docs -name2 trunk \
>   -url1 http://localhost:5984/ -url2 http://localhost:5985/ \
>   --duration 300
> http://graphs.mikeal.couchone.com/#/graph/5c859b3e7d1b9bd0488cfe271104a616
> # updater_fd vs trunk  (large docs, 100Kb each)
> $ node tests/compare_write_and_read.js --wclients 50 --rclients 200 \
>   -name1 updater_fd_large_docs -name2 trunk \
>   -url1 http://localhost:5984/ -url2 http://localhost:5985/ \
>   --duration 300 --doc large
> http://graphs.mikeal.couchone.com/#/graph/5c859b3e7d1b9bd0488cfe271104a7a7
> We can see that both the response time and throughput gets significantly better for both read and writes.
> If no objections I'll commit it to trunk.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.