Re: Inserting 8MB bytea: just 25% of disk perf used?

Поиск
Список
Период
Сортировка
От Merlin Moncure
Тема Re: Inserting 8MB bytea: just 25% of disk perf used?
Дата
Msg-id b42b73151001151315w41bd2f4bhc3398a731833d63@mail.gmail.com
обсуждение исходный текст
Ответ на Inserting 8MB bytea: just 25% of disk perf used?  ("fkater@googlemail.com" <fkater@googlemail.com>)
Ответы Re: Inserting 8MB bytea: just 25% of disk perf used?
Список pgsql-performance
On Thu, Jan 14, 2010 at 9:29 AM, fkater@googlemail.com
<fkater@googlemail.com> wrote:
> Hello together,
>
> I need to increase the write performance when inserting
> bytea of 8MB. I am using 8.2.4 on windows with libpq.
>
> The test setting is simple:
>
> I write 100x times a byte array (bytea) of 8 MB random data
> into a table having a binary column (and oids and 3 other
> int columns, oids are indexed). I realized that writing 8 MB
> of 0-bytes is optimized away. With random data, the disk
> space now is filled with 800MB each run as expected. I use a
> transaction around the insert command.
>
> This takes about 50s, so, 800MB/50s = 16MB/s.
>
> However the harddisk (sata) could write 43 MB/s in the worst
> case! Why is write performance limited to 16 MB/s?
>
>
> Some more hints what I do:
>
> I use PQexecParams() and the INSERT ... $001 notation to NOT
> create a real escapted string from the data additionally but
> use a pointer to the 8MB data buffer.
>
> I altered the binary column to STORAGE EXTERNAL.
>
> Some experiments with postgresql.conf (fsync off,
> shared_buffers=1000MB, checkpoint_segments=256) did not
> change the 50s- much (somtimes 60s sometimes a little less).
>
> 4 Core CPU 3 Ghz, WinXP, 1 TB SATA disk.
>
>
> Do you have any further idea why 16MB/s seems to be the
> limit here?

postgres is simply not geared towards this type of workload.  16mb
isn't too bad actually, and I bet you could significantly beat that
with better disks and multiple clients sending data, maybe even close
to saturate a gigabit line.  However, there are other ways to do this
(outside the db) that are more appropriate if efficiency is a big
concern.

merlin

В списке pgsql-performance по дате отправления:

Предыдущее
От: "fkater@googlemail.com"
Дата:
Сообщение: Re: Inserting 8MB bytea: just 25% of disk perf used?
Следующее
От: Scott Marlowe
Дата:
Сообщение: Re: New server to improve performance on our large and busy DB - advice? (v2)