[Bizgres-general] Performance - WAL bypass + parse
Mark Kirkwood
markir at paradise.net.nz
Wed Jun 8 01:01:29 GMT 2005
Luke Lonergan wrote:
> I can save you some time - I think you are seeing expected behavior.
>
> Your bottleneck on your BSD system is probably in the disk access, not in
> the CPU processing. You need to check how fast your disk subsystem is with
> a simple test like:
> time dd if=/dev/zero of=bigfile bs=1024k count=4000
>
> This times the write of 4GB of data to a file using a 1MB blocksize. If you
> then divide 4000/time you will get the MB/s number that represents your
> sequential filesystem write speed (with minimal buffering because you used
> 4GB or roughly 2x memory). Do the same for read:
> time dd if=bigfile of=/dev/null bs=1024k
>
> My guess is that you'll find your IDE RAID 0 is slow for some reason.
>
The above tests produce :
i) write 4G @1024k blocks 30M/s (4G @8k blocks 44M/s)
ii) read 4G @1024k blocks 44M/s (4G @8k blocks 55M/s)
I have included the same test using 8k blocks, as this mimics what
postgres is doing a bit better. Note that the numbers are quite a bit
better, I am guessing that my using a RAID stripe of 256k means that
sequential writes of blocks > 256k are penalized (not usually a problem...).
Now, this performance is not world-beating, but is quite reasonable - I
don't think IO is bottlenecked.
Another test that could be significant is reading and writing a file in
the same filesystem (as this is what is kind of happening):
iii) read 4G and write 4G @8k blocks 9M/s
This would seem to mean that the best performance I could ever see doing
these loads would be 9M/s. This is believable (note that 6M/s has been
achieved...).
My money is on the IO *not* being the bottleneck - I will see if I can
get these profiles going!
Cheers
Mark
More information about the Bizgres-general
mailing list