Re: Performance Woes

From: "Ralph Mason" <ralph(dot)mason(at)telogis(dot)com>
To: pgsql-performance(at)postgresql(dot)org
Subject: Re: Performance Woes
Date: 2007-05-10 00:34:47
Message-ID: 013101c7929b$046a25c0$0d3e7140$@mason@telogis.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

From: pgsql-performance-owner(at)postgresql(dot)org
[mailto:pgsql-performance-owner(at)postgresql(dot)org] On Behalf Of CAJ CAJ
Sent: 10 May 2007 12:26
To: Ralph Mason
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: [PERFORM] Performance Woes

I have several databases. They are each about 35gb in size and have about
10.5K relations (count from pg_stat_all_tables) in them. Pg_class is about
26k rows and the data directory contains about 70k files. These are busy
machines, they run about 50 xactions per second, ( aproxx insert / update /
delete about 500 rows per second).

We started getting errors about the number of open file descriptors

: 2007-05-09 03:07:50.083 GMT 1146975740: LOG: 53000: out of file
descriptors: Too many open files; release and retry

2007-05-09 03:07:50.083 GMT 1146975740: CONTEXT: SQL statement "insert …..
"

PL/pgSQL function "trigfunc_whatever" line 50 at execute statement

2007-05-09 03:07:50.083 GMT 1146975740: LOCATION: BasicOpenFile, fd.c:471

2007-05-09 03:07:50.091 GMT 0: LOG: 00000: duration: 12.362 ms

2007-05-09 03:07:50.091 GMT 0: LOCATION: exec_simple_query, postgres.c:1090

So we decreased the max_files_per_process to 800. This took care of the
error *BUT* about quadrupled the IO wait that is happening on the machine.
It went from a peek of about 50% to peeks of over 200% (4 processor
machines, 4 gigs ram, raid). The load on the machine remained constant.

>What version of Pg/OS? What is your hardware config?

>I had seen these errors with earlier versions of Pg 7.4.x which was fixed
in later releases according to the changelogs

"PostgreSQL 8.1.4 on x86_64-redhat-linux-gnu, compiled by GCC
x86_64-redhat-linux-gcc (GCC) 4.1.0 20060304 (Red Hat 4.1.0-3)"

su postgres -c 'ulimit -a'

core file size (blocks, -c) 0

data seg size (kbytes, -d) unlimited

max nice (-e) 0

file size (blocks, -f) unlimited

pending signals (-i) 49152

max locked memory (kbytes, -l) 32

max memory size (kbytes, -m) unlimited

open files (-n) 1000000

pipe size (512 bytes, -p) 8

POSIX message queues (bytes, -q) 819200

max rt priority (-r) 0

stack size (kbytes, -s) 10240

cpu time (seconds, -t) unlimited

max user processes (-u) 49152

virtual memory (kbytes, -v) unlimited

file locks (-x) unlimited

file locks (-x) unlimited

Seems like I should be able to use lots and lots of open files.

Machines are quad processor opterons, 4gb ram with raid 5 data and logging
to a raid 0.

Ralph

--
Internal Virus Database is out-of-date.
Checked by AVG Free Edition.
Version: 7.5.432 / Virus Database: 268.15.9/573 - Release Date: 05/12/2006
16:07

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Joshua D. Drake 2007-05-10 00:40:03 Re: Performance Woes
Previous Message Joshua D. Drake 2007-05-10 00:29:51 Re: Performance Woes