Sheldon Hearn sheldonh
Thu Oct 14 13:45:48 PDT 2004
Hi folks,

I plan to use Slony to replicate small, seldom changed databases across
slow Internet links.  In South Africa, international connectivity is
expensive.

I got my test replication working yesterday.  For kicks, I measured the
bandwidth utilisation.

When no updates are being copied around, there's a lot of "chattiness"
between the master and the slave, to the tune of about 2,300bps.[1]

That amounts to 649MB[2] per month, which is a significant proportion of
the cap imposed on ADSL connections in South Africa (between 7% and 32%,
depending on the package you take).

The postgresql.log on the slave looks like this, happening at about 10
second intervals (although I haven't watched the timing closely):

2004-10-14 14:43:40 LOG:  statement: start transaction;set transaction
isolation level serializable;select last_value from
"_test_cluster".sl_action_seq;
2004-10-14 14:43:43 LOG:  statement: rollback transaction;
2004-10-14 14:43:44 LOG:  statement: select ev_origin, ev_seqno,
ev_timestamp,        ev_minxid, ev_maxxid, ev_xip,       
ev_type,        ev_data1, ev_data2,        ev_data3, ev_data4,       
ev_data5, ev_data6,        ev_data7, ev_data8 from
"_test_cluster".sl_event e where (e.ev_origin = '2' and e.ev_seqno >
'70') order by e.ev_origin, e.ev_seqno

Is there anything I can do to the Slony configuration (or source) to
reduce this chattiness?  I could afford as much as a 1 minute delay in
updates.

Ciao,
Sheldon.

[1] Kilobits per second.
[2] Megabytes.



More information about the Slony1-general mailing list