On Sat, 24 Jul 2010, David Boreham wrote:
Do you guys have any more ideas to properly 'feel this disk at its teeth' ?
While an 'end-to-end' test using PG is fine, I think it would be easier to
determine if the drive is behaving correctly by using a simple test program
that emulates the storage semantics the WAL expects. Have it write a constant
stream of records, fsync'ing after each write. Record the highest record
number flushed so far in some place that won't be lost with the drive under
test (e.g. send it over the network to another machine).
Kill the power, bring the system back up again and examine what's at the tail
end of that file. I think this will give you the worst case test with the
easiest result discrimination.
If you want to you could add concurrent random writes to another file for
extra realism.
Someone here may already have a suitable test program. I know I've written
several over the years in order to test I/O performance, prove the existence
of kernel bugs, and so on.
I doubt it matters much how long the power is turned of. A second should be
plenty time to flush pending writes if the drive is going to do so.
remember that SATA is designed to be hot-plugged, so you don't have to
kill the entire system to kill power to the drive.
this is a little more ubrupt than the system loosing power, but in terms
of loosing data this is about the worst case (while at the same time, it
eliminates the possibility that the OS continues to perform writes to the
drive as power dies, which is a completely different class of problems,
independant of the drive type)
David Lang
--
Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance