Re: Raid 10 chunksize
Mark Kirkwood <markir@paradise.net.nz>
From: Mark Kirkwood <markir@paradise.net.nz>
To: Stef Telford <stef@ummon.com>
Cc: "pgsql-performance@postgresql.org" <pgsql-performance@postgresql.org>
Date: 2009-03-26T04:43:10Z
Lists: pgsql-performance
Stef Telford wrote: > > Hello Mark, > Okay, so, take all of this with a pinch of salt, but, I have the > same config (pretty much) as you, with checkpoint_Segments raised to > 192. The 'test' database server is Q8300, 8GB ram, 2 x 7200rpm SATA > into motherboard which I then lvm stripped together; lvcreate -n > data_lv -i 2 -I 64 mylv -L 60G (expandable under lvm2). That gives me > a stripe size of 64. Running pgbench with the same scaling factors; > > starting vacuum...end. > transaction type: TPC-B (sort of) > scaling factor: 100 > number of clients: 24 > number of transactions per client: 12000 > number of transactions actually processed: 288000/288000 > tps = 1398.907206 (including connections establishing) > tps = 1399.233785 (excluding connections establishing) > > It's also running ext4dev, but, this is the 'playground' server, > not the real iron (And I dread to do that on the real iron). In short, > I think that chunksize/stripesize is killing you. Personally, I would > go for 64 or 128 .. that's jst my 2c .. feel free to > ignore/scorn/laugh as applicable ;) > > Stef - I suspect that your (quite high) tps is because your SATA disks are not honoring the fsync() request for each commit. SCSI/SAS disks tend to by default flush their cache at fsync - ATA/SATA tend not to. Some filesystems (e.g xfs) will try to work around this with write barrier support, but it depends on the disk firmware. Thanks for your reply! Mark