postgresql-tuning på FreeBSD 6.0 release

From: Claus Guttesen (none@cguttesen--yahoo.dk.lh.bsd-dk.dk)
Date: Tue 22 Aug 2006 - 22:50:11 CEST


Date: Tue, 22 Aug 2006 22:50:11 +0200 (CEST)
From: Claus Guttesen <none@cguttesen--yahoo.dk.lh.bsd-dk.dk>
Subject: postgresql-tuning på FreeBSD 6.0 release
To: bsd-dk@bsd-dk.dk

Hej.

Jeg har vredet lidt på min postgresql.conf fil. Dette
har bevirket en større load på serveren end normalt.
Jeg har sat shared_buffers ned, og det virkede lidt
mod sin hensigt lader det til.

Serveren har 8 GB RAM og 2 to-kerne-opteroner.


http://www.varlena.com/GeneralBits/Tidbits/perf.html
står der at man skal sætte shared_buffers til en
værdi, man finder ved at se på shared memory. Et
værktøj som finder brugen af share memory er ipcs, og
når jeg skriver ipcs -bm får jeg dette:

sidsel~%>ipcs -bm
Shared Memory:
T ID KEY MODE OWNER
  GROUP SEGSZ
m 131072 5432001 --rw------- pgsql pgsql
   87719936

Er det segsz jeg skal se på? Er det i såfald i i
bytes?

Med parameteren m sættes BIGGEST og i
/usr/src/usr.bin/ipcs/ipcs.c ser jeg :

if (option & BIGGEST)
   printf(" %12d",kshmptr->u.shm_segsz);

Længere oppe:

struct shmid_kernel *kshmptr = &kxshmids[i];

Og næsten oppe i toppen:

struct shmid_kernel *shmsegs;

Header-filen /usr/src/sys/sys/shm.h siger:

int shm_segsz; /* size of segment in
bytes */

Så det stemmer vel at segsz er i bytes?

Ud fra det bør shared_buffers sættes til minimum 100
MB, eller 12228.

Hilsen
Claus



This archive was generated by hypermail 2b30 : Wed 15 Nov 2006 - 18:25:03 CET