Unix Technical Forum

Need input on postgres used for phpBB

This is a discussion on Need input on postgres used for phpBB within the Pgsql General forums, part of the PostgreSQL category; --> Hi ALL, we have a site that uses postgres as a backend for a forum. this forum does a ...


Go Back   Unix Technical Forum > Database Server Software > PostgreSQL > Pgsql General

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 04-08-2008, 09:56 PM
JM
 
Posts: n/a
Default Need input on postgres used for phpBB

Hi ALL,

we have a site that uses postgres as a backend for a forum. this forum does a lot of deletes, selects and inserts. just recently for some reason postgres eats a lot of processing power..

here are some tech-details:

tcpip_socket = true
max_connections = 260
superuser_reserved_connections = 2

port = 5432
shared_buffers = 40102
sort_mem = 4096
effective_cache_size = 4000

#fsync = true
#wal_sync_method = fsync

#log_statement = true
#log_duration = true

#syslog = 0 # range 0-2
#syslog_facility = 'LOCAL0'
#syslog_ident = 'postgres'

#
# Locale settings
#
# (initialized by initdb -- may be changed)
LC_MESSAGES = 'en_US.UTF-8'
LC_MONETARY = 'en_US.UTF-8'
LC_NUMERIC = 'en_US.UTF-8'
LC_TIME = 'en_US.UTF-8'

** im doing an hourly vaccum
0 1-23 * * * bin/vacuumdb --port 5432 --analyze -d myforumdb 1>/dev/null 2>/tmp/vaccum_hourly.log

--> is the hourly vaccum necessary? for some reason vaccum takes to much time..

input on how to make things work fast is highly appreciated..


tia,

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 04-08-2008, 09:56 PM
Scott Marlowe
 
Posts: n/a
Default Re: Need input on postgres used for phpBB

On Mon, 2005-05-09 at 08:55, JM wrote:
> Hi ALL,
>
> we have a site that uses postgres as a backend for a forum. this forum does a lot of deletes, selects and inserts. just recently for some reason postgres eats a lot of processing power..
>
> here are some tech-details:
>
> tcpip_socket = true
> max_connections = 260
> superuser_reserved_connections = 2
>
> port = 5432
> shared_buffers = 40102
> sort_mem = 4096
> effective_cache_size = 4000


That's a LOT of shared buffers, and a very small setting for
effective_cache_size, but I doubt those are causing your problems. On
most machines you'd be better off if those numbers were reversed. how
much RAM does your server have, by the way, and what version of
postgresql and what os / version are you running as well?

Also, what are your fsm settings?

> # (initialized by initdb -- may be changed)
> LC_MESSAGES = 'en_US.UTF-8'
> LC_MONETARY = 'en_US.UTF-8'
> LC_NUMERIC = 'en_US.UTF-8'
> LC_TIME = 'en_US.UTF-8'
>
> ** im doing an hourly vaccum
> 0 1-23 * * * bin/vacuumdb --port 5432 --analyze -d myforumdb 1>/dev/null 2>/tmp/vaccum_hourly.log
>
> --> is the hourly vaccum necessary? for some reason vaccum takes to much time..
>
> input on how to make things work fast is highly appreciated..


It is quite likely that your updates / deletes have outrun your
vacuuming and you have table bloat. Try issuing a vacuumdb -faz and see
if things speed up.

I'd recommend buildind, installing and running the pg_autovacuum daemon
from now on.

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 04-08-2008, 09:57 PM
Jerome Macaranas
 
Posts: n/a
Default Re: Need input on postgres used for phpBB

On Monday 09 May 2005 23:28, Scott Marlowe wrote:
> On Mon, 2005-05-09 at 08:55, JM wrote:
> > Hi ALL,
> >
> > we have a site that uses postgres as a backend for a forum. this forum
> > does a lot of deletes, selects and inserts. just recently for some
> > reason postgres eats a lot of processing power..
> >
> > here are some tech-details:
> >
> > tcpip_socket = true
> > max_connections = 260
> > superuser_reserved_connections = 2
> >
> > port = 5432
> > shared_buffers = 40102
> > sort_mem = 4096
> > effective_cache_size = 4000

>
> That's a LOT of shared buffers, and a very small setting for
> effective_cache_size, but I doubt those are causing your problems. On
> most machines you'd be better off if those numbers were reversed. how
> much RAM does your server have, by the way, and what version of
> postgresql and what os / version are you running as well?
>

i have 3G of ram..

but the server is not a dedicated DB server.. server also caters IRC server
and streaming media.

im using RH9

postgres 7.3.4

dual Xeon box

> Also, what are your fsm settings?
>
> > # (initialized by initdb -- may be changed)
> > LC_MESSAGES = 'en_US.UTF-8'
> > LC_MONETARY = 'en_US.UTF-8'
> > LC_NUMERIC = 'en_US.UTF-8'
> > LC_TIME = 'en_US.UTF-8'
> >
> > ** im doing an hourly vaccum
> > 0 1-23 * * * bin/vacuumdb --port 5432 --analyze -d myforumdb
> > 1>/dev/null 2>/tmp/vaccum_hourly.log
> >
> > --> is the hourly vaccum necessary? for some reason vaccum takes to much
> > time..
> >
> > input on how to make things work fast is highly appreciated..

>
> It is quite likely that your updates / deletes have outrun your
> vacuuming and you have table bloat. Try issuing a vacuumdb -faz and see
> if things speed up.
>
> I'd recommend buildind, installing and running the pg_autovacuum daemon
> from now on.


---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 04-08-2008, 09:57 PM
Jerome Macaranas
 
Posts: n/a
Default Re: Need input on postgres used for phpBB

i didnt set fsm... the config i paste is all that i put into place...

is there a way to look at the query that's eating too much process
without starting the DB and redirect stdout out to a file?

process ID 32082..

32082 pts/3 S 0:08 postgres: mydbuser mydb 10.10.10.1 SELECT

if i do top..
CPU
32082 postgres 17 0 203M 203M 177M R 84.1 6.7 0:05 3 postmaster
31767 postgres 15 0 168M 168M 162M R 35.6 5.5 0:38 2 postmaster
12623 root 15 0 88 4 0 S 35.0 0.0 79:44 1 rmserver
32040 postgres 15 0 162M 162M 156M S 10.1 5.3 0:07 3 postmaster
32587 postgres 15 0 39624 38M 38256 S 10.1 1.2 0:00 0 postmaster
19837 postgres 15 0 295M 295M 294M R 7.4 9.7 10:28 0 postmaster
15891 postgres 15 0 300M 299M 298M S 5.3 9.9 8:14 2 postmaster
12348 postgres 15 0 295M 294M 294M S 4.7 9.7 9:55 3 postmaster
32589 postgres 15 0 57204 55M 55972 S 4.7 1.8 0:00 1 postmaster
32661 postgres 19 0 21272 20M 19516 S 4.7 0.6 0:00 3 postmaster
21061 postgres 15 0 304M 303M 302M S 4.0 10.0 4:32 0 postmaster
32695 postgres 22 0 14624 14M 13112 S 4.0 0.4 0:00 0 postmaster
23438 postgres 15 0 304M 304M 303M S 3.3 10.0 4:18 0 postmaster
26455 postgres 15 0 307M 307M 306M S 3.3 10.1 0:26 0 postmaster
27564 postgres 15 0 307M 306M 305M S 3.3 10.1 0:18 0 postmaster
20345 postgres 15 0 303M 303M 302M S 2.6 10.0 4:25 3 postmaster
14068 postgres 15 0 306M 306M 304M S 2.6 10.1 1:19 2 postmaster
29438 postgres 15 0 310M 310M 308M S 2.6 10.2 0:06 3 postmaster
32655 postgres 18 0 47604 46M 46416 S 2.6 1.5 0:00 0 postmaster
32683 postgres 21 0 8244 8188 6912 S 2.6 0.2 0:00 2 postmaster
32707 postgres 23 0 7500 7440 6336 S 2.6 0.2 0:00 2 postmaster
19003 postgres 15 0 298M 298M 297M S 2.0 9.8 7:05 0 postmaster
19189 postgres 15 0 303M 302M 301M S 2.0 10.0 4:38 2 postmaster
6616 postgres 15 0 312M 312M 311M S 2.0 10.3 1:09 0 postmaster
30575 postgres 15 0 189M 189M 173M S 2.0 6.2 0:07 2 postmaster
32157 postgres 15 0 174M 174M 169M S 2.0 5.7 0:01 2 postmaster
32201 postgres 15 0 53552 52M 52144 S 2.0 1.7 0:02 1 postmaster

On Monday 09 May 2005 23:28, Scott Marlowe wrote:
> On Mon, 2005-05-09 at 08:55, JM wrote:
> > Hi ALL,
> >
> > we have a site that uses postgres as a backend for a forum. this forum
> > does a lot of deletes, selects and inserts. just recently for some
> > reason postgres eats a lot of processing power..
> >
> > here are some tech-details:
> >
> > tcpip_socket = true
> > max_connections = 260
> > superuser_reserved_connections = 2
> >
> > port = 5432
> > shared_buffers = 40102
> > sort_mem = 4096
> > effective_cache_size = 4000

>
> That's a LOT of shared buffers, and a very small setting for
> effective_cache_size, but I doubt those are causing your problems. On
> most machines you'd be better off if those numbers were reversed. how
> much RAM does your server have, by the way, and what version of
> postgresql and what os / version are you running as well?
>
> Also, what are your fsm settings?
>
> > # (initialized by initdb -- may be changed)
> > LC_MESSAGES = 'en_US.UTF-8'
> > LC_MONETARY = 'en_US.UTF-8'
> > LC_NUMERIC = 'en_US.UTF-8'
> > LC_TIME = 'en_US.UTF-8'
> >
> > ** im doing an hourly vaccum
> > 0 1-23 * * * bin/vacuumdb --port 5432 --analyze -d myforumdb
> > 1>/dev/null 2>/tmp/vaccum_hourly.log
> >
> > --> is the hourly vaccum necessary? for some reason vaccum takes to much
> > time..
> >
> > input on how to make things work fast is highly appreciated..

>
> It is quite likely that your updates / deletes have outrun your
> vacuuming and you have table bloat. Try issuing a vacuumdb -faz and see
> if things speed up.
>
> I'd recommend buildind, installing and running the pg_autovacuum daemon
> from now on.
>
> ---------------------------(end of broadcast)---------------------------
> TIP 8: explain analyze is your friend


---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5 (permalink)  
Old 04-08-2008, 09:57 PM
Frank Finner
 
Posts: n/a
Default Re: Need input on postgres used for phpBB

On Tue, 10 May 2005 12:19:43 +0800 Jerome Macaranas <jerome@gmanmi.tv> thought long, then sat down and wrote:


> im using RH9
>
> postgres 7.3.4


Maybe you ran into the same problem I had about a year ago. See http://archives.postgresql.org/pgsql...3/msg00810.php and thread. My database became extremely slow, vacuum itself needed several hours instead of several minutes, after doing some weeks of heavy inserting.

Vaccum obviously does not release all unused memory in 7.3.x.
--
Frank Finner

Invenius - Lösungen mit Linux
Köpfchenstraße 36
57072 Siegen
Telefon: 0271 231 8606 Mail: frank.finner@invenius.de
Telefax: 0271 231 8608 Web: http://www.invenius.de
Key fingerprint = 90DF FF40 582E 6D6B BADF 6E6A A74E 67E4 E788 2651

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCgFXa9yTJ83o5N2cRAkCMAJ9pIDCSdYPJIaSBTyInPE B4PNECewCfV0oq
IUKEA/rhY2lEV6rTWkP5CQY=
=PZeH
-----END PGP SIGNATURE-----

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #6 (permalink)  
Old 04-08-2008, 09:57 PM
Jerome Macaranas
 
Posts: n/a
Default Re: Need input on postgres used for phpBB - addtional note

my data directory is just 1.7G



On Tuesday 10 May 2005 14:33, Frank Finner wrote:
> On Tue, 10 May 2005 12:19:43 +0800 Jerome Macaranas <jerome@gmanmi.tv>

thought long, then sat down and wrote:
> > im using RH9
> >
> > postgres 7.3.4

>
> Maybe you ran into the same problem I had about a year ago. See
> http://archives.postgresql.org/pgsql...3/msg00810.php and
> thread. My database became extremely slow, vacuum itself needed several
> hours instead of several minutes, after doing some weeks of heavy
> inserting.
>
> Vaccum obviously does not release all unused memory in 7.3.x.


---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to majordomo@postgresql.org)

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #7 (permalink)  
Old 04-08-2008, 09:57 PM
Jerome Macaranas
 
Posts: n/a
Default Re: Need input on postgres used for phpBB

Hi,

what fix did you do? go for 7.4?

tia,

On Tuesday 10 May 2005 14:33, Frank Finner wrote:
> On Tue, 10 May 2005 12:19:43 +0800 Jerome Macaranas <jerome@gmanmi.tv>

thought long, then sat down and wrote:
> > im using RH9
> >
> > postgres 7.3.4

>
> Maybe you ran into the same problem I had about a year ago. See
> http://archives.postgresql.org/pgsql...3/msg00810.php and
> thread. My database became extremely slow, vacuum itself needed several
> hours instead of several minutes, after doing some weeks of heavy
> inserting.
>
> Vaccum obviously does not release all unused memory in 7.3.x.


---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #8 (permalink)  
Old 04-08-2008, 09:57 PM
Scott Marlowe
 
Posts: n/a
Default Re: Need input on postgres used for phpBB

On Mon, 2005-05-09 at 23:35, Jerome Macaranas wrote:
> i didnt set fsm... the config i paste is all that i put into place...


OK, that's likely a part of your problem.

Did you run the vacuumdb -af I recommended? Did it help? If so, you
likely need to run plain (i.e. lazy) vacuums more often, and crank up
your fsm settings. Just uncomment them and add a zero behind them for
now. you might have to increase your shared memory settings to handle
them, but fsm doesn't use a lot of shared memory.

There are some issues with 7.3 that were fixed with 7.4, but I don't
think you're hitting any of them. That said, I'd highly recommend at
least an upgrade to the latest 7.4, if not 8.0 series.

Note you may also need to reindex as well.

>
> is there a way to look at the query that's eating too much process
> without starting the DB and redirect stdout out to a file?


Right now, that's more a symptom than a problem. i.e. when we
(hopefully) get rid of the bloat in your tables / indexes this problem
will go away.

> > port = 5432
> > shared_buffers = 40102
> > sort_mem = 4096
> > effective_cache_size = 4000


IF you have 3G of ram, then your effective_cache_size is definitely too
small for your machine. Even if it's doing other things, at least a gig
or so is likely being used by the machine to cache postgresql data. So
your effective_cache_size should be about 1G/8k.

You can also increase sort_mem a bit without too much worry. 16 meg or
so is not unreasonable for a machine with 3 Gigs of ram, unless you're
expecting all 260 possible connections to start doing selects with
sorts.

So, I'd recommend:

vacuum full all dbs
Increase FSM settings (and shm settings as necessary)
increase sort_mem (work_mem if you go to 8.0)
use the contrib/dbsize package to look for bloated tables and / or
indexes.
upgrade pg versions if possible



---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faq

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #9 (permalink)  
Old 04-08-2008, 09:59 PM
Jerome Macaranas
 
Posts: n/a
Default Re: Need input on postgres used for phpBB

On Tuesday 10 May 2005 22:00, Scott Marlowe wrote:
> On Mon, 2005-05-09 at 23:35, Jerome Macaranas wrote:
> > i didnt set fsm... the config i paste is all that i put into place...

>
> OK, that's likely a part of your problem.
>
> Did you run the vacuumdb -af I recommended? Did it help? If so, you


i have a routine of vacuumdb -af every midnight and vacuumdb -a every 8:00 , 12:00, 17:00

what im seeing is:


postgres 25542 32.3 10.5 337680 327816 ? R 12:17 1:09 postgres: myuser mydb myip DELETE
postgres 25578 34.5 10.5 337684 327880 ? R 12:17 1:13 postgres: myuser mydb myip DELETE

delete takes too long to finish..

> likely need to run plain (i.e. lazy) vacuums more often, and crank up
> your fsm settings. Just uncomment them and add a zero behind them for
> now. you might have to increase your shared memory settings to handle
> them, but fsm doesn't use a lot of shared memory.
>
> There are some issues with 7.3 that were fixed with 7.4, but I don't
> think you're hitting any of them. That said, I'd highly recommend at
> least an upgrade to the latest 7.4, if not 8.0 series.
>
> Note you may also need to reindex as well.
>

ill be doing this.. can i reindex all tables in my DB without starting my db on standalone mode?

> > is there a way to look at the query that's eating too much process
> > without starting the DB and redirect stdout out to a file?

>
> Right now, that's more a symptom than a problem. i.e. when we
> (hopefully) get rid of the bloat in your tables / indexes this problem
> will go away.
>
> > > port = 5432
> > > shared_buffers = 40102
> > > sort_mem = 4096
> > > effective_cache_size = 4000

>
> IF you have 3G of ram, then your effective_cache_size is definitely too
> small for your machine. Even if it's doing other things, at least a gig
> or so is likely being used by the machine to cache postgresql data. So
> your effective_cache_size should be about 1G/8k.
>
> You can also increase sort_mem a bit without too much worry. 16 meg or
> so is not unreasonable for a machine with 3 Gigs of ram, unless you're
> expecting all 260 possible connections to start doing selects with
> sorts.
>
> So, I'd recommend:
>
> vacuum full all dbs
> Increase FSM settings (and shm settings as necessary)
> increase sort_mem (work_mem if you go to 8.0)
> use the contrib/dbsize package to look for bloated tables and / or
> indexes.
> upgrade pg versions if possible
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/docs/faq


---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #10 (permalink)  
Old 04-08-2008, 09:59 PM
Scott Marlowe
 
Posts: n/a
Default Re: Need input on postgres used for phpBB

On Thu, 2005-05-12 at 00:33, Jerome Macaranas wrote:
> On Tuesday 10 May 2005 22:00, Scott Marlowe wrote:
> > On Mon, 2005-05-09 at 23:35, Jerome Macaranas wrote:
> > > i didnt set fsm... the config i paste is all that i put into place...

> >
> > OK, that's likely a part of your problem.
> >
> > Did you run the vacuumdb -af I recommended? Did it help? If so, you

>
> i have a routine of vacuumdb -af every midnight and vacuumdb -a every 8:00 , 12:00, 17:00
>
> what im seeing is:
>
>
> postgres 25542 32.3 10.5 337680 327816 ? R 12:17 1:09 postgres: myuser mydb myip DELETE
> postgres 25578 34.5 10.5 337684 327880 ? R 12:17 1:13 postgres: myuser mydb myip DELETE
>
> delete takes too long to finish..


You might want to run one of those vacuums, like the one at 1700 by hand
and do a vacuum verbose to see how many tuples are being reclaimed and
how many, if any, are getting left behind etc...

> > Note you may also need to reindex as well.
> >

> ill be doing this.. can i reindex all tables in my DB without starting my db on standalone mode?


Everything but some system indexes and tables, i believe.


---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 09:10 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
www.UnixAdminTalk.com