couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Randall Leeds (JIRA)" <>
Subject [jira] Commented: (COUCHDB-976) Improve database read and write performance using 2 couch_files
Date Sun, 05 Dec 2010 21:49:11 GMT


Randall Leeds commented on COUCHDB-976:

Yeah, you're right. The gains are there.

As for the caching, I think maybe you're right that we should leave it out. It was a workaround
for the same problem this addresses: too many reads blocking the write path on couch_file.
Problem solved. Great work, Filipe. Thanks for doing this patch.

> Improve database read and write performance using 2 couch_files
> ---------------------------------------------------------------
>                 Key: COUCHDB-976
>                 URL:
>             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:
> 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
> # 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
> 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.

View raw message