Recently I decided to tidy up my home office. In the process I found a lot of old computer hardware which has built up over the years. One of the more interesting things I found was several old (ATA) hard drives. This got me thinking how I could make use of these drives. The first thing that popped into mind was using them for benchmarking purposes. i.e. to get familiar with the tools used to benchmark I/O. Being a Ubuntu user, I noticed that there’s a really nice utility installed by default (go to ‘System’->’Administration’->’Disk Utility’). This is actually a program called Palimpsest/GNOME Disk Utility and as well as having the ability to benchmark hard drives it also gives you the ability to use the disks’ SMART capabilities to get some idea of the number of bad sectors as well as other warning signs that the drive may be failing.
So, I’ve shut down my computer and plugged in the drives (no hot plugging with ATA unfortunately), booted up and ran the ‘Read-Only’ benchmark. This gives some basic numbers showing the maximum, minimum and average read times. When I went to do the ‘Read/Write’ benchmark, I found that you had to completely format the disk in order to benchmark it. This involved not only deleting all of the partitions, but also deleting the MBR. Once this was done, I was able to run the Read/Write tests on both of the 40GB drives. As well as the max, min and avg times, you also get a pretty graph:
The red line corresponds to writes, with the blue line corresponding to reads. I’m not sure what all of the green points and lines correspond to. So, how did the drives perform? One of them (the one pictured above) had quite a bit of variance as you can see in the graph above. Also, the read/write rates crossed at about 40% of the way through the test, which I don’t quite understand. As a comparison, the other 40GB drive I tested was amazingly stable, with the minimum read rate only 1.2 MB/s below the maximum and the write max/min only differing by 0.1 MB/s. The output of this drive can be seen below:
So, now the only question left is “How will they perform in a RAID array?”. After putting the two drives into a RAID-0 array (note that you need to install the mdadm package first), we see the following results:
The results are quite interesting in that they show that the avg read rate for the array was actually worse (21.5 MB/s) than either of the two individual drives (24.6 MB/s and 22.3 MB/s). The avg write rate was noticeably higher at 26 MB/s, compared to the individual results of 22.1 and 22.9 MB/s.
So what can we conclude from this? We probably shouldn’t look too much into the results as both of the hard drives are old and from different manufacturers. However, in saying that, I think it does show that write intensive applications might benefit from RAID0 more than read intensive ones.