Re: Some pgbench results

From: "Magnus Naeslund(k)" <mag(at)kite(dot)se>
To: Just Someone <just(dot)some(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Some pgbench results
Date: 2006-03-23 21:51:06
Message-ID: 4423184A.4080605@kite.se
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Just Someone wrote:
>
> Initialized the data with: pgbench -i -s 100
> Test runs: pgbench -s 100 -t 10000 -c 20
> I did 20 runs, removed the first 3 runs from each sample to account
> for stabilization.

Did you re-initialize the test pgbench database between runs?
I get weird results otherwise since some integers gets overflowed in the
test (it doesn't complete the full 10000 transactions after the first run).

> Here are the results in tps without connection
> establishing:
>
> FS: JFS XFS EXT3
> Avg: 462 425 319
> Stdev: 104 74 106
>

Could you please tell me what stripe size you have on the raid system?
Could you also share the mkfs and mount options on each filesystem you
tried?

I ran some tests on an somewhat similar system:
A supermicro H8SSL-i-B motherboard with one dual core opteron 165 with
4gb of memory, debian sarge amd64 (current stable) but with a pristine
kernel.org 2.6.16 kernel (there's no debian patches or packages yet).

It has a 3ware 9550 + BBU sata raid card with 6 disks in a raid 10
configuration with 256kb stripe size. I think this results in about
200mb/s raw read performance and about 155mb/s raw write performance (as
in tested with dd:ing a 10gb file back and forth).
I had no separate WAL device/partition, only tweaked postgresql.conf.

I get about 520-530 tps with your pgbench parameters on ext3 but very
poor (order of magnitude) performance on xfs (that's why I ask of your
mkfs parameters).

A hint on using a raided ext3 system is to use whole block device
instead of partitions to align the data better and use data=journal with
a big journal. This might seem counter-productive at first (it did to
me) but I increased my throughput a lot when using this.

My filesystem parameters are calculated like this:
stripe=256 # <- 256k raid stripe size
bsize=4 # 4k blocksize
bsizeb=$(( $bsize * 1024 )) # in bytes
stride=$(( $stripe / $bsize ))

mke2fs -b $bsizeb -j -J size=400 -m 1 -O sparse_super \
-T largefile4 -E stride=$stride /dev/sdb

Mounted with: mount -t ext3 -o data=journal,noatime /dev/sdb /mnt/test8

I'm a little surprised that I can get more pgbench performance out of my
system since you're using 10K scsi disks. Please try the above settings
and see if it helps you...

I've not run so many tests yet, I'll do some more after the weekend...

Regards,
Magnus

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Brian Kitzberger 2006-03-23 21:52:04 Re: version problem with pg_dump
Previous Message Robert Treat 2006-03-23 21:46:02 Re: [GENERAL] COPY command documentation