From: Stefan Kaltenbrunner <stefan@kaltenbrunner.cc>
To: Luke Lonergan <llonergan@greenplum.com>
Cc: Spiegelberg, Greg <gspiegelberg@cranel.com>
Cc: Worky Workerson <worky.workerson@gmail.com>
Cc: Merlin Moncure <mmoncure@gmail.com>
Cc: pgsql-performance@postgresql.org
Subject: Re: Best COPY Performance
Date: Mon, 30 Oct 2006 17:23:44 +0100
Message-ID: <45462710.3000301@kaltenbrunner.cc> (raw)
In-Reply-To: <C16B625D.5708%llonergan@greenplum.com>
References: <C16B625D.5708%llonergan@greenplum.com>
Luke Lonergan wrote:
> Stefan,
>
> On 10/30/06 8:57 AM, "Stefan Kaltenbrunner" <stefan@kaltenbrunner.cc> wrote:
>
>>> We've found that there is an ultimate bottleneck at about 12-14MB/s despite
>>> having sequential write to disk speeds of 100s of MB/s. I forget what the
>>> latest bottleneck was.
>> I have personally managed to load a bit less then 400k/s (5 int columns
>> no indexes) - on very fast disk hardware - at that point postgresql is
>> completely CPU bottlenecked (2,6Ghz Opteron).
>
> 400,000 rows/s x 4 bytes/column x 5 columns/row = 8MB/s
>
>> Using multiple processes to load the data will help to scale up to about
>> 900k/s (4 processes on 4 cores).
yes I did that about half a year ago as part of the CREATE INDEX on a
1,8B row table thread on -hackers that resulted in some some the sorting
improvements in 8.2.
I don't think there is much more possible in terms of import speed by
using more cores (at least not when importing to the same table) - iirc
I was at nearly 700k/s with two cores and 850k/s with 3 cores or such ...
>
> 18MB/s? Have you done this? I've not seen this much of an improvement
> before by using multiple COPY processes to the same table.
>
> Another question: how to measure MB/s - based on the input text file? On
> the DBMS storage size? We usually consider the input text file in the
> calculation of COPY rate.
yeah that is a good questions (and part of the reason why I cited the
rows/sec number btw.)
Stefan
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: stefan@kaltenbrunner.cc, llonergan@greenplum.com, gspiegelberg@cranel.com, worky.workerson@gmail.com, mmoncure@gmail.com
Subject: Re: Best COPY Performance
In-Reply-To: <45462710.3000301@kaltenbrunner.cc>
* 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