Poor read performance on Dell Perc H200 RAID10 with (4) 1TB 7200rpm 64MB drives
I am seeing only 50MB/s reads:
ensnare@box:~$ sudo hdparm -tT /dev/sda
[sudo] password for ensnare:
/dev/sda:
Timing cached reads: 4592 MB in 2.00 seconds = 2296.48 MB/sec
Timing buffered disk reads: 192 MB in 3.90 seconds = 49.24 MB/sec
The array is already rebuilt and operational. Is this kind of slow performance normal? Anything I can do to make it faster? There weren't too many options in the controller configuration. Thanks.
Solution 1:
The short answer is yes, that's the level of performance you should expect to see from the H200.
The long answer: The H200 is the old SAS 6iR with SATA 6Gb/s support. It doesn't have the usual features you'd see on a RAID card (battery backup unit, onboard caching, RAID5/6 support). The cache determines how fast your RAID array is (along w/ the # of spindles and type of drive), so no cache = slow performance. Add the 7200RPM SATA drives (which are slow compared to a 10-15k RPM SAS drive) and that's the level of performance you can expect.
Solution 2:
Please take a look at the following info:
The default cache policy on a physical disk is Enabled in SATA drives and Disabled on SAS drives. When physical disk caching is Enabled, disk I/O performance is improved, but a power outage or equipment failure might result in data loss or corruption.
NOTE: It is recommended that you use a backup power source for all Dell production systems.
On a PERC H200 card, caching is forced to be disabled for all physical disks configured into a virtual disk, regardless of the drive type and default drive settings.”
http://support.dell.com/support/edocs/storage/storlink/h200/en/ug/html/features.htm
Solution 3:
Maybe change the stripe size, depending on what your storing.
Is cache turned off?
I have 4 1TB Western Digital Enterprise 7200 RPM drives on a 3Ware 95500-SX and my hdparm results are
zeus:/home/Kendall # hdparm -tT /dev/sdb
/dev/sdb:
Timing cached reads: 1262 MB in 2.00 seconds = 630.86 MB/sec
Timing buffered disk reads: 128 MB in 3.03 seconds = 42.30 MB/sec
That's my development server, though, which is under some load. I'd expect higher numbers if the array was idle, like I suspect yours is.
Just for some perspective, I don't exactly know if your buffered reads are "slow" but I put mine up for comparison.