From: Christopher Petrilli <petrilli@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Vivek Khera <vivek@khera.org>
Cc: pgsql-performance@postgresql.org
Subject: Re: Impact of checkpoint_segments under continual load conditions
Date: Mon, 18 Jul 2005 19:30:53 -0400
Message-ID: <59d991c405071816304af42ef@mail.gmail.com> (raw)
In-Reply-To: <16794.1121718743@sss.pgh.pa.us>
References: <59d991c4050717100874c08a86@mail.gmail.com>
<A50B8A1F-71A1-4F63-A5F4-1AA58F89557D@khera.org>
<59d991c405071811457ccdd3f1@mail.gmail.com>
<16394.1121715156@sss.pgh.pa.us>
<59d991c405071812342e290f57@mail.gmail.com>
<16794.1121718743@sss.pgh.pa.us>
On 7/18/05, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Christopher Petrilli <petrilli@gmail.com> writes:
> > On 7/18/05, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> >> I have no idea at all what's causing the sudden falloff in performance
> >> after about 10000 iterations. COPY per se ought to be about a
> >> constant-time operation, since APPEND is (or should be) constant-time.
> >> What indexes, foreign keys, etc do you have on this table? What else
> >> was going on at the time?
>
> > The table has 15 columns, 5 indexes (character, inet and timestamp).
> > No foreign keys. The only other thing running on the machine was the
> > application actually DOING the benchmarking, written in Python
> > (psycopg), but it was, according to top, using less than 1% of the
> > CPU. It was just talking through a pipe to a psql prompt to do the
> > COPY.
>
> Sounds pretty plain-vanilla all right.
>
> Are you in a position to try the same benchmark against CVS tip?
> (The nightly snapshot tarball would be plenty close enough.) I'm
> just wondering if the old bgwriter behavior of locking down the
> bufmgr while it examined the ARC/2Q data structures is causing this...
So here's something odd I noticed:
20735 pgsql 16 0 20640 11m 10m R 48.0 1.2 4:09.65
postmaster
20734 petrilli 25 0 8640 2108 1368 R 38.1 0.2 4:25.80 psql
The 47 and 38.1 are %CPU. Why would psql be burning so much CPU? I've
got it attached ,via a pipe to another process that's driving it
(until I implement the protocol for COPY later). I wouldn't think it
should be uing such a huge percentage of the CPU, no?
The Python script that's actually driving it is about 10% o the CPU,
which is just because it's generating the incoming data on the fly.
Thoughts?
I will give the CVS head a spin soon, but I wanted to formalize my
benchmarking more first.
Chris
--
| Christopher Petrilli
| petrilli@gmail.com
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-performance@postgresql.org
Cc: petrilli@gmail.com, tgl@sss.pgh.pa.us, vivek@khera.org
Subject: Re: Impact of checkpoint_segments under continual load conditions
In-Reply-To: <59d991c405071816304af42ef@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox