couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kowsik <kow...@gmail.com>
Subject Replication performance: pull vs. push
Date Wed, 02 Mar 2011 21:09:09 GMT
I have two couch instances in two different geographic locations (say
A and B). I have two options to do bidirectional continuous
replication.

A.local -> B
B.local -> A

or

A <- B.local
B <- A.local

The difference really, I think, is how the _changes feed works. In the
first instance, the replication process on A (conceptually) monitors
the local _changes feed and pushes data up to B (a request + a
response for each change), while in the second case, the replication
process monitors the _changes feed on B (across a network) and makes
local changes.

My gut tells me the second case will be better for performance since
the TCP connection (for the _changes feed) from A to B persists and
the docs are sent one way without making a request (and hence less
data transmitted per change). Is my hypothesis correct? I haven't yet
looked at the packets to understand the differences between the two
scenarios. But maybe someone else has already.

Thanks,

K.
---
http://twitter.com/pcapr
http://www.pcapr.net
http://labs.mudynamics.com

Mime
View raw message