On Wed, 17 Sep 2003, Tom Lane wrote:
> Michael Adler <adler@pobox.com> writes:
> > I have been experimenting with a new Seagate Cheetah 10k-RPM SCSI to
> > compare with a cheaper Seagate Barracuda 7200-RPM IDE (each in a
> > single-drive configuration). The Cheetah definately dominates the generic
> > IO tests such as bonnie++, but fares poorly with pgbench (and other
> > postgresql operations).
>
> It's fairly common for ATA drives to be configured to lie about write
> completion (ie, claim write-complete as soon as data is accepted into
> their onboard RAM buffer), whereas SCSI drives usually report write
> complete only when the data is actually down to disk. The performance
> differential may thus be coming at the expense of reliability. If you
> run Postgres with fsync off, does the differential go away?
Yes, they both perform equally at about 190 tps with fsync off.
The culprit turns out to be write-caching on the IDE drive. It is enabled
by default, but can be disabled with "hdparm -W0 /dev/hdx". After it is
disabled, the tps are proportional to rpms.
There's an (2001) Linux thread on this if anyone is interested:
http://www.ussg.iu.edu/hypermail/linux/kernel/0103.0/0331.html
So the quesiton is whether it is ever sensible to use write-caching and
expect comparable persistence.
Thanks,
Michael Adler