On Apr 4, 2005 12:23 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Christopher Petrilli <petrilli@gmail.com> writes:
> > On Apr 4, 2005 11:52 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> >> Could we see the *exact* SQL definitions of the table and indexes?
>
> > Of course, this is a bit cleansed, since it's an internal project, but
> > only the column names are changed:
>
> Thanks. No smoking gun in sight there. But out of curiosity, can you
> do a test run with *no* indexes on the table, just to see if it behaves
> any differently? Basically I was wondering if index overhead might be
> part of the problem.
Running now, but it'll take a while since I have a 3/4 second pause
after each COPY to better reflect "real world" ... the application
does 1 COPY per second, or whenever it hits 1000 entries. This seemed
to be a sane way to deal with it, and not burden the system with
needless index balancing, etc.
> Also, the X-axis on your graphs seems to be total number of rows
> inserted ... can you relate that to elapsed real time for us?
Sure, like I said, there's a 3/4 second sleep between each COPY,
regardless of how long it took (which well, isn't quite right, but
close enough for this test). I've created a PNG with the X axies
reflecting "elapsed time":
http://www.amber.org/~petrilli/diagrams/pgsql_copyperf_timeline.png
In addition, I've put up the raw data I used:
http://www.amber.org/~petrilli/diagrams/results_timeline.txt
The columns are rowcount, elapsed time, instance time.
Hopefully this might help some? This machine has nothing else running
on it other than the normal stripped down background processes (like
sshd).
--
| Christopher Petrilli
| petrilli@gmail.com