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.
På
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