From: | Martin Foster <martin(at)ethereal-realms(dot)org> |
---|---|
To: | Shridhar Daithankar <shridhar_daithankar(at)persistent(dot)co(dot)in>, ostgresql Performance <pgsql-performance(at)postgresql(dot)org> |
Subject: | Re: Extreme high load averages |
Date: | 2003-07-06 20:16:37 |
Message-ID: | 3F0883A5.5020301@ethereal-realms.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-novice pgsql-performance |
Shridhar Daithankar wrote:
>
> It gives hint to psotgresql how much file system cache is available in the
> system.
>
> You have 1GB memory and your application requirement does not exceed 400MB. So
> OS can use roughly 600MB for file system cache. In that case you can set this
> parameter to 400MB cache to leave room for other application in FS cache.
>
> IIRC, BSD needs sysctl tuning to make more memory available for FS cache other
> wise they max out at 300MB.
>
> Roughly this setting should be (total memory -application
> requirement)*(0.7/0.8)
>
> I guess that high kernel load you are seeing due to increased interaction
> between postgresql and OS when data is swapped to/fro in shared memory. If OS
> cache does well, postgresql should reduce this interaction as well.
>
>
> BTW, since you have IDE disks, heavy disk activity can eat CPU as well. Is
> your disk bandwidth totally maxed out? Check with vmstat or whatever
> equivalent you have on BSD.
>
> Shridhar
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org
I changed the value of effective_cache_size seems interesting to 512.
The database restarted without any problems and load averages seem to be
a bit lower as a result.
Since people have been asking for it, I added in most of the stat
command outputs that I could think of. All located below my signature
block, this will show you what roughly 127 client connections with
Postgre will generate. The numbers are a lot nicer to see then a 30
load level.
Note, that the high number of connections is a side effect of connection
pooling under Apache using Apache::DBI. This means that for every
client on the http server there is a connection to Postgres even if the
connection is idle.
The above may be a factor of performance as well. As I had noticed
that with an idle child setting being too high, that server would show
very high load averages as well. Probably an indication that the
system is continually forking new children trying to just keep the idle
child count at the right level.
Martin Foster
Creator/Designer Ethereal Realms
martin(at)ethereal-realms(dot)org
vmstat:
2:09PM up 16:45, 1 user, load averages: 0.36, 0.30, 0.35
vmstat:
procs memory
r b w avm fre
1 0 0 234036 687548
page
flt re pi po fr sr
621 0 0 0 0 0
faults cpu
in sy cs us sy id
364 396 88 19 1 79
iostat:
tty wd0 wd1 cpu
tin tout KB/t t/s MB/s KB/t t/s MB/s us ni sy in id
0 1023 4.53 1 0.01 9.72 11 0.10 19 0 1 0 79
pstat -s:
Device 512-blocks Used Avail Capacity Priority
swap_device 4194288 0 4194288 0% 0
top header:
load averages: 0.31, 0.35, 0.42
147 processes: 2 running, 145 idle
CPU states: 32.9% user, 0.0% nice, 0.9% system, 0.0% interrupt, 66.2%
idle
Memory: Real: 263M/377M act/tot Free: 630M Swap: 0K/2048M used/tot
ps -uax:
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
postgres 1561 0.0 0.5 2120 4812 p0 I 1:48PM 0:00.10
/usr/local/bin/postmaster (postgres)
postgres 9935 0.0 2.8 3832 29744 p0 I 1:48PM 0:00.74
postmaster: ethereal ethereal 192.168.1.6 idle in tra
postgres 7436 0.0 0.6 3640 6636 p0 S 1:48PM 0:00.92
postmaster: ethereal ethereal 192.168.1.6 idle in tra
postgres 18814 0.0 7.0 3876 72904 p0 I 1:48PM 0:04.53
postmaster: ethereal ethereal 192.168.1.6 idle in tra
postgres 15346 0.0 4.1 3820 42468 p0 I 1:48PM 0:00.93
postmaster: ethereal ethereal 192.168.1.6 idle in tra
postgres 13621 0.0 6.9 3832 71824 p0 I 1:48PM 0:02.66
postmaster: ethereal ethereal 192.168.1.6 idle in tra
postgres 20916 0.0 4.7 3812 49164 p0 I 1:48PM 0:00.59
postmaster: ethereal ethereal 192.168.1.6 idle in tra
postgres 21684 0.0 2.2 3688 23356 p0 S 1:48PM 0:01.27
postmaster: ethereal ethereal 192.168.1.6 idle in tra
postgres 19472 0.0 6.9 3824 72452 p0 I 1:48PM 0:02.61
postmaster: ethereal ethereal 192.168.1.6 idle in tra
postgres 27361 0.0 0.7 3664 6976 p0 S 1:48PM 0:00.91
postmaster: ethereal ethereal 192.168.1.6 idle in tra
postgres 28925 0.0 2.8 3840 29528 p0 I 1:48PM 0:00.46
postmaster: ethereal ethereal 192.168.1.6 idle in tra
postgres 12790 0.0 2.7 3800 28080 p0 I 1:48PM 0:01.11
postmaster: ethereal ethereal 192.168.1.6 idle in tra
postgres 13957 0.0 6.8 3820 71476 p0 I 1:48PM 0:02.26
postmaster: ethereal ethereal 192.168.1.6 idle in tra
postgres 29129 0.0 2.8 3828 29096 p0 I 1:48PM 0:01.50
postmaster: ethereal ethereal 192.168.1.6 idle in tra
postgres 24279 0.0 2.7 3824 27992 p0 S 1:48PM 0:01.08
postmaster: ethereal ethereal 192.168.1.6 idle in tra
postgres 20382 0.0 0.6 3640 6748 p0 S 1:48PM 0:00.91
postmaster: ethereal ethereal 192.168.1.6 idle in tra
postgres 28258 0.0 6.9 3872 71912 p0 S 1:48PM 0:03.01
postmaster: ethereal ethereal 192.168.1.6 idle in tra
postgres 16961 0.0 0.6 3664 6612 p0 S 1:48PM 0:00.96
postmaster: ethereal ethereal 192.168.1.6 idle in tra
postgres 8599 0.0 0.6 3664 6656 p0 S 1:48PM 0:00.90
postmaster: ethereal ethereal 192.168.1.6 idle in tra
From | Date | Subject | |
---|---|---|---|
Next Message | Martin Foster | 2003-07-06 20:28:48 | Re: [PERFORM] Extreme high load averages |
Previous Message | Boget, Chris | 2003-07-06 15:46:57 | Re: Replace into... |
From | Date | Subject | |
---|---|---|---|
Next Message | Martin Foster | 2003-07-06 20:28:48 | Re: [PERFORM] Extreme high load averages |
Previous Message | Tom Lane | 2003-07-06 15:25:28 | Re: Another POC initdb patch |