From: | "Just Someone" <just(dot)some(at)gmail(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Some pgbench results |
Date: | 2006-03-23 23:42:23 |
Message-ID: | 36932f270603231542l720eacacsa9d33176cb00b966@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hi,
> 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).
No, I didn't. The reason is that I noticed that the first run is
always MUCH faster. My initial runs if I reinit pgbench and run again
will always hover around 900-970 tps for xfs. And I didn't need this
as a real performance test, it was a side effect of a load test I was
doing on the server. Also, pgbench isn't close to the load I'll see on
my server (web application which will be mostly read)
> 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?
RAID stripe size of 256K.
File system creation:
xfs: mkfs -t xfs -l size=64m /dev/md0
jfs: mkfs -t jfs /dev/md0
Mount for xfs with -o noatime,nodiratime,logbufs=8
jfs: -o noatime,nodiratime
> 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.
Thanks for the advice! Actually, the RAID 10 I have is mounted as
/var/lib/pgsql, so it's ONLY for postgres data, and the pg_xlog
directory is mounted on another disk.
> 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
That's an interesting thing to try, though because of other things I
want, I prefer xfs or jfs anyway. I will have an extreme number of
schemas and files, which make high demands on the directory structure.
My tests showed me that ext3 doesn't cope with many files in
directories very well. With xfs and jfs I can create 500K files in one
directory in no time (about 250 seconds), with ext3 it start to crawl
after about 30K files.
> 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...
Please share the results. It's very interesting...
Bye,
Guy.
BTW, one thing I also tested is a software RAID0 over two RAID5 SATA
arrays. Total disk count in this is 15. The read performance was
really good. The write performance (as expected) not so great. But
that was just a test to get a feeling of the speed. This RAID5 system
is only used for file storage, not database.
--
Family management on rails: http://www.famundo.com - coming soon!
My development related blog: http://devblog.famundo.com
From | Date | Subject | |
---|---|---|---|
Next Message | Tony Wasson | 2006-03-24 00:05:49 | Re: Partitioning - when is it too many tables? |
Previous Message | Wes | 2006-03-23 23:05:29 | Partitioning - when is it too many tables? |