
Hard Drive
This article I located while just digging around, it has some good information although I would have liked to had some screenshots of the hardware testing that I did with all sorts of disk benchmarking tools. Too bad I didn’t think to keep those around for over a year. Oh well…. enjoy.
After a long time of running RAID0 I decided that there comes a time in every persons life that protecting from data loss is very important. Years of pictures, videos, music, documents, and other files can be lost with a catastrophic incident, with that in mind I set out on the road to see what I could do. Since Raid0 offers the best performance per dollar it was an easy solution at build time, it offers all the space from the drives and allows for greater transfer speeds writing and reading up to the amount of drives that are installed in the system.
With RAID5 the performance is nearly the same, so I thought, and offers data protection from a single drive failure. RAID5 offers protect due to it using data striping with parity as opposed to just data striping as is used with RAID. With RAID0 striping it will increase performance of the entire system but will not help to protect against data loss, if a single drive fails the entire array will then fail.
So I started to poke around and got 2 more drives to create a RAID5 array that will offer better performance of the entire system as opposed to RAID0 and give me the protection that I desired for prevention of data loss. So after getting the original RAID0 drive imaged I started to build the RAID5 array with 4 drives.
Once the system was imaged I noticed that there was something horribly wrong with the entire set up, while building the array the entire system seemed to be sluggish and not very responsive to input even in an open browser window. With the slow performance at the time I attributed it to the building of the RAID5 array and thought nothing more of it until the building process was done, the build process took about 6 hours by the way.
Once the RAID5 array was fully initialized I noticed that the system was still slow so I started to benchmark the entire system to find the point of failure. Before the RAID5 array was created the computer was amazingly fast but after the creation it slow to a near crawl. Using Windows Vista x64 I located the “Reliability and Performance Monitor” to see if I could locate the bottleneck. Sure enough the monitor said that the disk utilization was at 100% when OS files where being written to the disk, these OS files are typically small files that are used for configuration and storing cache data. After some more research I located the reason why the performance was so slow, that reason is that RIAD5 performance suffer greatly when many small files are written to disk.
So I then wondered if it would matter if the default stripe size was changed would make a difference, the default is 64k stripe, so I decreased the stripe to 32k which resulted in a little better write performance but nothing substantial. With the knowledge of better write performance of a smaller stripe I settled in on a stripe of 16k across 4 drives which yielded better results for small files. So with a stripe size of 16k I imaged my boot partition to the array and yielded the same results that I had gotten with a stripe of 64k, so it appears that with the ICH9R that is in my system that it is unsuitable for RAID5 on a desktop computer. Sadly the writes are the bottleneck on a system drive while I was able to get throughput of over 250mb/s with RAID5 it was not a system drive at the time.
All in all I think that the ICH9R controller can be a decent controller card for basic use it is not suitable for a system drive. While doing testing I also experimented with different things to see what would work to provide some level of data security by placing a 4 drive RAID0 array on the outside track of the 4 drives and creating a RAID5 array with the remaining space, this method again was not optimal as the drive to drive copy speeds and the random read and writes really created a bottleneck for the entire system. In this instance with a RAID0 system partition and a RAID5 storage partition the system was indeed faster and more responsive but the drive to drive copy hovered around 36mb/s which would be largely unsuitable for writing large amounts of data to.
Next I experimented with a RAID10 (RAID1+0) array to see if performance would be all inclusive to what had been stated online. In a RAID10 subsystem the write operations should in theory be 2 times due to there being a stripe of 2 mirrored pairs which was indeed true in this setup but the read performance should have been about 4 times which through benchmarking and testing was not capable of reaching speeds above 160mb/s, these speeds are marginally faster than a single RAID0 array by about 20mb/s but also only give minimal benefits to the system and do not really increase performance in a scaled environment. With the lackluster performance of this RAID10 array I could not see myself giving up the space of 2 full drives with no real benefit and continued to play around with many more settings and setups only to conclude that with all of the ICHxR chipset RAID controllers there is only a minimal bonus from this fakeraid controller.
In conclusion I feel that the ICH9R controller is pretty decent but lacks in the driver department, sure it can do RAID0/1/5/10 but it can really only do one raid level well, that being RAID0. If you are looking for a cheap way to protect your data you might be better off to get a 1.5TB hard drive and an external encloser as opposed to any RAID configuration because the transfer speeds and cost of the PSU will be greatly reduced plus a hard drive only has so many hours of operation before the failure rate increases dramatically so if you have an external that you only use to back things up on there will be a minimal chance that this drive will fail prematurely.
As a side note after playing around with settings in Intel Matrix Storage Manager I was able to increase speeds for RAID5 to about…. well burst speeds are around 170 while actual speeds are something HORRIBLE around 15mb/s so totally not worth the time and effort.
The only place that ICHxR controller RAID5 has is when you have another hard drive for your OS and only then marginally. If cost was no object then RAID10 would be better suited but that also has problems with the ICH9R controller as the read and write speeds are only the speed equivalent to a RAID0 array and no driver update has addressed this issue. So…. in short, the power of the system will totally have an effect of what you can do with a fakeraid controller. So if you have a quad core that is a fileserver you will be fine, if you are using the machine to continually recompile the linux kernel you might have some issues, but for the most part the processing power in the newer systems is grossly overpowered for what is really needed so you will be fine.
Now if I could get facebook onboard with that statement and not allow crappy flash programs to access their API and use all local system resources things would be golden again…. flash is just a bad idea and should be laid to rest.









0 Responses to “ICHxR Raid Performance”
cforms contact form by delicious:days