Christopher Browne cbbrowne
Thu Sep 28 12:35:25 PDT 2006
Richard Yen <dba at richyen.com> writes:
> Looking at my logs, the cleanupThread runs about once every 11  
> minutes, and the vacuuming takes anywhere from 90s to 200s to finish.
>
> My slon_conf_vac_frequency is set at 1, so I can't make the vacuums  
> finish any faster.


The control of how long between cleanup calls is in slon.h:

#define SLON_CLEANUP_SLEEP			600 /* sleep 10 minutes between */

Changing 600 to something less, and recompiling, wouldn't be "major
surgery."

To my mind, the real question is what table or tables have bloated,
and why.

I'd suggest running the following, assuming the Slony-I schema is _mycluster...

for table in confirm setsync log_1 log_2 seqlog; do
    vacuumdb -t "_mycluster".sl_${table} -v -z
done

(I'm assuming PGDATABASE, PGPORT, PGUSER, PGHOST are all set suitably...)

This will give some idea as to which table is bloated.

There are two particularly plausible directions:

1.  sl_log_1 and sl_seqlog have a lot of live tuples, typically caused
by confirmations not getting thru.

2.  sl_log_1 and sl_seqlog have a lot of dead tuples, typically caused
by having some long running transaction holding onto things.

Note that in neither case is the answer to vacuum more frequently...
-- 
"cbbrowne","@","ca.afilias.info"
<http://dba2.int.libertyrms.com/>
Christopher Browne
(416) 673-4124 (land)



More information about the Slony1-general mailing list