[
https://issues.apache.org/jira/browse/COUCHDB-160?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Adam Kocoloski updated COUCHDB-160:
-----------------------------------
Attachment: couch_rep.erl.diff
Updated the diff so it can applied against current trunk (r718409) and fixed a
bug on my end that the test suite didn't catch. I'll see if I can extend the
test suite coverage.
> replication performance improvements
> ------------------------------------
>
> Key: COUCHDB-160
> URL: https://issues.apache.org/jira/browse/COUCHDB-160
> Project: CouchDB
> Issue Type: Improvement
> Components: Database Core
> Affects Versions: 0.9
> Reporter: Adam Kocoloski
> Priority: Minor
> Attachments: couch_rep.erl.diff
>
>
> I wrote some code to speed up CouchDB's replication process by parallelizing
> document requests and using _bulk_docs to write changes to the target. I
> tested the speedup as follows:
> * 1000 document DB, 1022 update_seq, ~450 KB after compaction
> * local and remote machines have ~45 ms latency
> * timed requests using timer:tc(couch_rep, replicate, [<<"source">>,
> <<"target">>]
> * all replications are "from scratch"
> trunk:
> local-local 115
> local-remote 145
> remote-remote 173
> remote-local 146
> db size after replication: 1.8 MB
> patch:
> local-local 1.83
> local-remote 38
> remote-remote 64
> remote-local 35
> db size after replication: 453 KB
> I'll attach the patch as an update to this issue. It might be worth exposing
> the "batch size" (currently 100 docs) as a configurable parameter. Comments
> welcome. Best,
> Adam
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.