On Tue, 21 Oct 2003, Mark Kirkwood wrote:
> Some sort of ATA Raid is probably worth considering -
>
> e.g. I am experimenting with a system using 2 ATA-66 Seagates + 1
> Promise TX2000
>
> The disks themselves give fairly poor performance when attached to the
> std IDE channels :
>
> sequential write 15Mb/s
> sequential read 20Mb/s
>
> But attached to the Promise card using RAID 0 do considerably better:
>
> sequential write 52Mb/s
> sequential read 52MB/s
>
> Now you would probably not use RAID 0 for a "real" system (unless you
> had good backups), but the difference is interesting
>
> Note that even including the card, this is a very cheap setup.
>
> (I have not gotten around to testing random read and writes, but if
> anybody is interested I can test this and supply figures)
OK, but here's the real test. As the postgres user, run 'pgbench -i',
then after that runs, run 'pgbench -c 50 -t 1000000'. While it's running
and settled (pg aux|grep postgres|wc -l should show a number of ~54 or
so.) pull the plug. Wait for the hard drives to spin down, then plug it
back in and power it one. With SCSI you will still have a coherent
database.
If you want a coherent database on IDE drives under postgresql you will
need to issue this command: 'hdparm -W0 /dev/hdx' where x is the letter of
the drives under the RAID array to turn off write caching. This will slow
them to a crawl on writes.
And there's plenty of uses for RAID 0 in real systems, just not generally
in real 24/7 systems. But for high speed batchs that might take a week to
run on a RAID5 but run in an hour on RAID0, that would be an acceptable
risk. Think of machines that read in all their data off of a NAS, crunch
it, and dump it back out in flat files when they're done.
For things like that IDE drives and RAID 0 make a nice fit. But don't put
the payroll on them. :-)