[ 
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_v3.diff

forgot to increase the pipeline length in the last version.  The goal is for 
the entire replication to use 1 persistent connection.

> 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, couch_rep_v2.diff, couch_rep_v3.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.

Reply via email to