Re: Inserting 8MB bytea: just 25% of disk perf used? - Mailing list pgsql-performance

From Pierre Frédéric Caillaud
Subject Re: Inserting 8MB bytea: just 25% of disk perf used?
Date
Msg-id op.u6i5s9eicke6l8@soyouz
Whole thread Raw
In response to Inserting 8MB bytea: just 25% of disk perf used?  ("fkater@googlemail.com" <fkater@googlemail.com>)
Responses Re: Inserting 8MB bytea: just 25% of disk perf used?
List pgsql-performance
> 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.

    Big CPU and slow disk...

    You should add another disk just for the WAL -- disks are pretty cheap
these days.
    Writing the WAL on a second disk is the first thing to do on a
configuration like yours, if you are limited by writes.
    It also reduces the fsync lag a lot since the disk is only doing WAL.

pgsql-performance by date:

Previous
From: "Kevin Grittner"
Date:
Subject: Re: Slow "Select count(*) ..." query on table with 60 Mio. rows
Next
From: Pierre Frédéric Caillaud
Date:
Subject: Re: a heavy duty operation on an "unused" table kills my server