Re: Unbounded (Possibly) Database Size Increase - Toasting - Mailing list pgsql-hackers

From Mark kirkwood
Subject Re: Unbounded (Possibly) Database Size Increase - Toasting
Date
Msg-id 1021777152.1685.37.camel@spikey.slithery.org
Whole thread Raw
In response to Re: Unbounded (Possibly) Database Size Increase - Test  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Unbounded (Possibly) Database Size Increase - Toasting  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Sat, 2002-05-11 at 11:24, Tom Lane wrote:
> Hannu Krosing <hannu@tm.ee> writes:
> > Was it not the case that lazy vacuum had problems freeing tuples that
> > have toasted fields ?
> 
> News to me if so.
> 
>             regards, tom lane

It looks like this may in fact be the case.

I performed a number of tests using the previous setup, but shortening the row length and
using pg_attribute.attstorage to untoast the text field for some of the tests.

The difference is striking. 

The behaviour of the untoasted case is pretty much as expected :
the database grows a bit and then stabilizes at some size.

However I could not get any size stabilization in the toasted case.


Here are (some) of my test results :

Fsm Siz    |Threads|Toast    |Init(M)|End (M)|Stable    |Stable Time(h)    |Run Time(h)20000    | 2    |Y    | 166    |
380   | N    | -        |1760000    | 2    |Y    | 166    | 430    | N    | -        |2010000    | 2    |N    | 162
|235     | Y    | 0.5         |120000    | 2    |N    | 166    | 235    | Y    | 0.5         |1360000    | 2    |N    |
166   | 235    | Y    | 0.5        |13
 

legend :

Fsm Siz         = max_fsm_pages
Threads         = no. update threads
Toast            = whether body field was toasted
Init            = initial database size
End             = final database size
Stable            = whether database growth had stopped
Stable Time        = when stable size was achieved
Run Time        = length of test run (excluding initial database population)

Average vacuum time                 = 300s
Typical (1 thread) entire table update time    = 2000s
Row length                    = 7.5K

The scripts I used are here :

http://homepages.slingshot.co.nz/~markir/tar/test/spin.tar.gz


At this point I am wondering about sending this in as a bug report - what do you think ?

regards, 

Mark



pgsql-hackers by date:

Previous
From: Tatsuo Ishii
Date:
Subject: Re: Set-returning function syntax
Next
From: Peter Eisentraut
Date:
Subject: Re: pq_eof() broken with SSL