Updates - Mailing list pgsql-general

From Adam Lang
Subject Updates
Date
Msg-id 00f201c02d5d$ea00bfe0$330a0a0a@6014cwpza006
Whole thread Raw
In response to Re: Memory bloating  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
List pgsql-general
Su if you update a row, you are still keeping a copy of the old row?  And to
get rid of that is to use vacuum?


Adam Lang
Systems Engineer
Rutgers Casualty Insurance Company
----- Original Message -----
From: "Stephan Szabo" <sszabo@megazone23.bigpanda.com>
To: "Micah Anderson" <micah@colltech.com>
Cc: <pgsql-general@postgresql.org>
Sent: Tuesday, October 03, 2000 1:10 PM
Subject: Re: [GENERAL] Memory bloating


>
> Are you using a fair number of updates?  Postgres uses a
> non-overwriting storage manager, so updates effectively create
> a new row and mark the old one as no longer valid (a great
> simplification of reality, but...)
>
> A useful thing would be an example of the queries that are giving
> problems along with their explain output and any indexes that are on the
> table in question.
>
> Stephan Szabo
> sszabo@bigpanda.com
>
> On Tue, 3 Oct 2000, Micah Anderson wrote:
>
> > Hello,
> >
> > We are using postgresql exclusively for our database backend for a
> > high-traffic site, sustaining 3-4 pages per second, in many cases
> > bursting well over that. At least half of those accesses are pgsql
> > SELECT, we rarely, if at all, use DELETE. It seems worst on tables with
> > more than about 1000 rows or 1000 hits an hour, or both.
> >
> > Recently our load has been threatening us, fluxating from between 5 and
> > 50 (yes, we've even been forced to reboot the machine it was so bad).
The
> > load has been isolated to postgres, and we can't seem to tame it. If we
> > cannot find a way to make postgres behave we will be forced to move to
> > mysql, we don't want to, but it has been discussed since we can't seem
to
> > isolate this problem. This is a last ditch effort to find out what can
be
> > done before we dump postgresql.
> >
> > The bloat is essentially the raw database file filling up VERY rapidly,
> > like up to 300 megs of bloat over 8 hours, when we vacuum it drops down
> > to 2 megs and the CPU is reduced considerably. Vacuum VERBOSE says
things
> > like 3000 pages of data, 45000 pages freed. The VACUUM VERBOSE I include
> > below is particularly striking (but not the best one I've seen), it
> > reduced the 14 meg database filesize down to 3 megs, 2136 pages to 356
> > that's a factor of 7!!
> >
> > Does this have anything to do with how we use vartext? Should we switch
> > to fixed sized text fields?
> >
> > Is it that 3-4 hits/sec is too much for postgresql to handle?
> >
> > btw - using 7.0.2
> >
> > Following is our tables and an output of a VACUUM VERBOSE:
> >
> >  List of relations
> >    Name    |   Type   |  Owner
> > -----------+----------+----------
> >  groupid   | sequence | postgres
> >  groups    | table    | postgres
> >  webcast   | table    | postgres
> >  webcastid | sequence | postgres
> >  weblink   | table    | postgres
> >  weblinkid | sequence | postgres
> > (6 rows)
> >
> > active_prague=# \d webcast
> >             Table "webcast"
> >   Attribute   |     Type     | Modifier
> > --------------+--------------+----------
> >  id           | integer      | not null
> >  heading      | char(90)     |
> >  author       | char(45)     |
> >  date_entered | char(45)     |
> >  article      | text         |
> >  contact      | varchar(80)  |
> >  link         | varchar(160) |
> >  address      | varchar(160) |
> >  phone        | varchar(80)  |
> >  parent_id    | integer      |
> >  mime_type    | char(50)     |
> >  summary      | text         |
> >  numcomment   | smallint     |
> >  arttype      | char(50)     |
> >  html_file    | char(160)    |
> >  created      | timestamp    |
> >  modified     | timestamp    |
> >  linked_file  | char(160)    |
> >  mirrored     | boolean      |
> >  display      | boolean      |
> >
> >
> > The following Vacuum reduced the 14 meg database filesize down to 3
> > megs, that is 2136 pages to 356 that's a factor of 7!!
> >
> > NOTICE:  --Relation webcast--
> > NOTICE:  Pages 2136: Changed 0, reaped 1781, Empty 0, New 0; Tup 1913:
> > Vac 9561, Keep/VTL 0/0, Crash 0, UnUsed 1433, MinLen 726, MaxLen 6858;
> > Re-using: Free/Avail. Space 14514420/14514420; EndEmpty/Avail. Pages
> > 0/1781. CPU 0.14s/0.08u sec.
> > NOTICE:  Rel webcast: Pages: 2136 --> 356; Tuple(s) moved: 1913. CPU
> > 0.29s/0.05u sec.
> > VACUUM


pgsql-general by date:

Previous
From: Stephan Szabo
Date:
Subject: Re: Memory bloating
Next
From: "chris markiewicz"
Date:
Subject: RE: trouble with trigger/function???