2011/12/19 Florian Weimer
<fweimer@bfk.de> * Havasvölgyi Ottó:
> Even though the TPS in pgbench about 700 with 1 client.
> I have tried other sync methods (fdatasync, open_sync), but all are similar.
> Should I disable write cache on HDD to make it work?
Did you mount your ext4 file system with the nobarrier option?
By default, ext4 is supposed to cope properly with hard disk caches,
unless the drive is lying about completing writes (but in that case,
disabling write caching is probably not going to help much with
reliability, either).
It is mounted with defaults, no other option yet, so it should flush.
These HDDs are 7200 rpm SATA with some low level software RAID1.
I cannot understand why disabling HDD write cache does not help either. Could you explain please?
There is also an InnoDB transaction log on this partition, but its commit time is quite longer. On the same workload PgSql's commit is about 1 ms, but InnoDB's is about 4-7 ms. I think 4-7 is also too short to flush something to such disk, am I right? Or perhaps does it do something different? It is set to fsync synchronously. Also a difference that as I increase concurrency, InnoDb's avg. commit time is going up quite quickly, however PgSql's one rather slowly. I wonder if this is because InnoDb really flushes to disk, or just because PostgreSQL is better :).
Best regards,
Otto
--
Florian Weimer <fweimer@bfk.de>
BFK edv-consulting GmbH http://www.bfk.de/
Kriegsstraße 100 tel: +49-721-96201-1
D-76133 Karlsruhe fax: +49-721-96201-99