On Fri, 30 Oct 2015 23:19:52 -0700
David Gould <daveg@sonic.net> wrote:
> The attached patch against REL9_5_STABLE_goes a little further. It
> claims the table under the lock, but also addresses the problem of all the
> workers racing to redo the same table by enforcing an ordering on all the
> workers. No worker can claim a table with an oid smaller than the highest
> oid claimed by any worker. That is, instead of racing to the same table,
> workers leapfrog over each other.
>
> In theory the recheck of the stats could be eliminated although this patch
> does not do that. It does eliminate the special handling of stats snapshots
> for autovacuum workers which cuts back on the excess rewriting of the stats
> file somewhat.
>
> I'll send numbers shortly, but as I recall it is over 100 times better than
> the original.
I sent performance test data and a setup for reproducing it elsewhere in
the thread. I also ran tests on a larger system (128GB mem, many cores, 2x
SSD with battery backed raid).
This is for an idle system with 100,000 new small tables to analyze. I ran
all the test for an hour or 5000 tables processed. "jj" refers to the patch
from Jeff Janes, "dg" refers to the attached patch (same as previous).
/autovacuum actions per minute/
workers 9.5b1 jj dg
------- ----- ---- -----
1 183 171 285
4 45 212 1158
8 23 462 1225
Could someone please take a look at the patch and comment? Thanks.
-dg
--
David Gould 510 282 0869 daveg@sonic.net
If simplicity worked, the world would be overrun with insects.