Scott Marlowe wrote: > Jim C. Nasby wrote: > >On Sun, May 20, 2007 at 08:00:25PM +0200, Zoltan Boszormenyi wrote: > > > >>I also went into benchmarking mode last night for my own > >>amusement when I read on the linux-kernel ML that > >>NCQ support for nForce5 chips was released. > >>I tried current PostgreSQL 8.3devel CVS. > >>pgbench over local TCP connection with > >>25 clients and 3000 transacts/client gave me > >>around 445 tps before applying NCQ support. > >>680 tps after. > >> > >>It went over 840 tps after adding HOT v7 patch, > >>still with 25 clients. It topped at 1062 tps with 3-4 clients. > >>I used a single Seagate 320GB SATA2 drive > >>for the test, which only has less than 40GB free. > >>So it's already at the end of the disk giving smaller > >>transfer rates then at the beginning. Filesystem is ext3. > >>Dual core Athlon64 X2 4200 in 64-bit mode. > >>I have never seen such a performance before > >>on a desktop machine. > >> > > > >I'd be willing to bet money that the drive is lying about commits/fsync. > >Each transaction committed essentially requires one revolution of the > >drive with pg_xlog on it, so a 15kRPM drive limits you to 250TPS. > > > >BTW, PostgreSQL sees a big speed boost if you mount ext3 with the option > >data=writeback. Note that doing that probably has a negative impact on > >data recovery after a crash for non-database files. > > > > I thought you were limited to 250 or so COMMITS to disk per second, and > since >1 client can be committed at once, you could do greater than 250 > tps, as long as you had >1 client providing input. Or was I wrong?
My impression is that you are correct in theory -- this is the "commit delay" feature. But it seems that the feature does not work as well as one would like; and furthermore, it is disabled by default. -- Alvaro Herrera http://www.CommandPrompt.com/ PostgreSQL Replication, Consulting, Custom Development, 24x7 support ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly