Originally posted by: fpbear
Phrontis, what I find curious and puzzling is why half the articles say that RAID 1 read performance is the same as a single disk, and the other half say that the performance improves because pieces of the data can be fetched from either disk, especially during concurrent access.
That is at the center of what I'm trying to figure out in this thread.
Maybe it depends on the controller how well RAID 1 is implemented in hardware? Does the ICH9R onboard controller optimize RAID 1 reads to interleave the data fetch between disks to increase read throughput? Or is this only found on fancy expensive controllers?
RAID1 performance is no faster, sometimes marginally slower on writes. With a very good caching hardware controller it can "seem" faster on writes for short bursts, but only up until the limit of the caching or the next I/O request.
On reads, RAID1 can be faster or is at least as fast as single drive in most situations (I'm ignoring a poor controller or one sitting on PCI bus causing a separate bottleneck from that).
Yes a piece of data can be fetched from either disk, but there is no intelligent division of concurrent IO such that two requests will be split between the two drives in an efficient manner. The data requests to the controller can be dumbly spread between two drives, even with a soft-raid instead of an expensive controller, but ultimately the logic in efficient retrieval still depends on the logic (& firmware) on each drive used.
The generic answer is, you'll have to consider your most common or most demanding use. Generally, one does not choose RAID0 for performance, though in many cases the performance is good enough, when their primary need was the realtime redundancy.
AFAIK, there is never a case where a RAID1 will be nearly as fast as either a RAID0, or using at least two of the drives as independant volumes for concurrent IO. Sadly this 2 separate volumes option is often overlooked, but often even faster than a RAID0 is, without the double jeopardy of RAID0 drive failures.
As for those (including myself) that say it depends on the controller, generally today's systems have plenty of processing power for soft-raid, the controller benefits are generally that of caching (I mean invisible to the OS caching, such that the OS continues on) and that caching occurs even if the drives are connected as independent spanned volumes instead of arrays, so to some extent we can ignore the controller variable and isolate whether it's a RAID or not.
As for the thread question, is RAID1 underrated? YES, but not for performance reasons
It is great to be able to spend a mere $xx and have realtime redundancy, to not have to skip a step to replace a failed drive ever and have it interrupt use of a system. It is not a backup strategy, that too is equally important, but at least on any mission critical workstation or server, RAID1 (if not a more advanced level like 5) is a good idea and IMO, worth the price of a 2nd drive. I should also elaborate that having fileservers, I would RAID1 a couple 200GB drives and reserve the larger ones to the fileserver for addt'l capacity, so it is not as extreme an expense as someone trying to fit every client with a TB+ of drives space.