{"id":264,"date":"2008-05-23T12:02:17","date_gmt":"2008-05-23T19:02:17","guid":{"rendered":"http:\/\/gregbaker.ca\/blog\/?p=264"},"modified":"2008-05-23T17:57:57","modified_gmt":"2008-05-24T00:57:57","slug":"disk-benchmarks","status":"publish","type":"post","link":"http:\/\/gregbaker.ca\/blog\/2008\/05\/23\/disk-benchmarks\/","title":{"rendered":"Disk Benchmarks"},"content":{"rendered":"<p>I recently decided that I needed more space to backup\/archive data.  So, I went out and bought a terabyte external drive ($240 at Costco).  This drive is a <a href=\"http:\/\/www.westerndigital.com\/en\/products\/products.asp?driveid=374\">WD MyBook Studio<\/a>, which happens to come with <a href=\"http:\/\/en.wikipedia.org\/wiki\/Usb#USB_2.0\">USB<\/a>, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Firewire#Enhancements_.28IEEE_1394a-2000.29\">FireWire<\/a>, and <a href=\"http:\/\/en.wikipedia.org\/wiki\/Esata#External_SATA\">eSATA<\/a> connections.  I started to wonder how different those connections <em>really<\/em> are.  The theoretical bandwidth of each is 60MB\/s, 50MB\/s, and 384MB\/s, respectively.<\/p>\n<p>First of all, I could have sworn my motherboard had a eSATA connector, but it doesn&#8217;t.  So, that&#8217;s out.<\/p>\n<p>I decided to do some benchmarking with <a href=\"http:\/\/www.coker.com.au\/bonnie++\/\">Bonnie++<\/a>.  This seems to be the standard Linux disk benchmarker.  I used the default configuration for all the tests, since I figure they knew what they were doing when they decided what the defaults were.<\/p>\n<p>After seeing an FAQ about <a href=\"http:\/\/www.faqs.org\/contrib\/linux-raid\/x37.html#AEN172\">benchmarking RAID<\/a>, I decided to also try <a href=\"http:\/\/sourceforge.net\/projects\/tiobench\/\">tiobench<\/a>.  It tests multithreaded IO performance.  I decided to look at 2 threads doing sequential reads and writes.<\/p>\n<p>Then, I started to wonder how these stacked up against my internal drives.  SATA is back, but internal, and with a different disk on the end.  I have two internal drives, both 400 GB, 7200 RPM, 16MB cache.  They are used along with the <a href=\"http:\/\/ubuntuforums.org\/showthread.php?t=408461\">Linux software RAID stuff<\/a> to create a <a href=\"http:\/\/en.wikipedia.org\/wiki\/Standard_RAID_levels#RAID_1\">RAID&nbsp;1<\/a> (for even moderately important stuff) and a <a href=\"http:\/\/en.wikipedia.org\/wiki\/Standard_RAID_levels#RAID_0\">RAID&nbsp;0<\/a> (a big bit bucket).<\/p>\n<p>I also tried a straight-up non-RAID partition on an internal disk (and I had to temporarily degrade my RAID to do it&mdash;I hope you appreciate this). The last tests I did were on my laptop and its 60 GB, 5400 RPM disk.<\/p>\n<p>Here&#8217;s what I came up with.  In all cases, larger numbers are better.<\/p>\n<table class=\"data\">\n<caption>Disk Benchmarking Summary<\/caption>\n<thead>\n<tr>\n<th scope=\"col\">Disk<\/th>\n<th scope=\"col\">Bonnie Block Read (MB\/s)<\/th>\n<th scope=\"col\">Bonnie Block Write (MB\/s)<\/th>\n<th scope=\"col\">Bonnie Seek (\/s)<\/th>\n<th scope=\"col\">tiobench Read (MB\/s)<\/th>\n<th scope=\"col\">tiobench Write (MB\/s)<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td scope=\"row\">SATA non-RAID<\/td>\n<td>70<\/td>\n<td>54<\/td>\n<td>250<\/td>\n<td>44<\/td>\n<td>46<\/td>\n<\/tr>\n<tr>\n<td scope=\"row\">SATA RAID&nbsp;1<\/td>\n<td>53<\/td>\n<td>45<\/td>\n<td>366<\/td>\n<td>54<\/td>\n<td>37<\/td>\n<\/tr>\n<tr>\n<td scope=\"row\">SATA RAID&nbsp;0<\/td>\n<td>62<\/td>\n<td>89<\/td>\n<td>207<\/td>\n<td>43<\/td>\n<td>56<\/td>\n<\/tr>\n<tr>\n<td scope=\"row\">External USB<\/td>\n<td>32<\/td>\n<td>29<\/td>\n<td>172<\/td>\n<td>29<\/td>\n<td>28<\/td>\n<\/tr>\n<tr>\n<td scope=\"row\">External Firewire<\/td>\n<td>37<\/td>\n<td>33<\/td>\n<td>188<\/td>\n<td>32<\/td>\n<td>32<\/td>\n<\/tr>\n<tr>\n<td scope=\"row\">Laptop internal<\/td>\n<td>20<\/td>\n<td>23<\/td>\n<td>94<\/td>\n<td>18<\/td>\n<td>18<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>[Intel D975XBX motherboard, Intel Core 2 Duo 6600, 2GB RAM, Ubuntu Hardy, relatively idle system, ReiserFS 3.6 partitions. Laptop is a Pentium M 1.86 GHz, 512 MB RAM, Ubuntu Hardy, idle, EXT3 filesystem.]<\/p>\n<p>So&hellip; what did we learn from that?<\/p>\n<ol>\n<li>I&#8217;m too lazy (and non-visual) to bother making useful graphs in situations like these.<\/li>\n<li>USB 2.0 and Firewire are close enough in speed that it&#8217;s not worth mentioning.<\/li>\n<li>Damn, I wish I had eSATA on my motherboard to see how that fared.<\/li>\n<li>If possible, keep your disks inside the computer where they belong.  The external performance is pretty impressive, but much slower than internals.<\/li>\n<li>&hellip; unless your other option is a slow laptop drive, then the externals start to look pretty snappy. I didn&#8217;t try the external <em>connected to the laptop<\/em>, though.  There might be a processor\/bus bottleneck.<\/li>\n<li>The RAID arrays aren&#8217;t nearly as fast as I thought they&#8217;d be.  This could be a result of the Linux software RAID slowing things down.  I have never used hardware RAID controllers (either the ones on many motherboards or dedicated cards).  <\/li>\n<li>Seriously&hellip; who&#8217;s stealing all my RAID performance? I want it back!<\/li>\n<\/ol>\n<p>Edit [05\/23]: I feel I should add:  All benchmarks are crap.  They are positively correlated with the thing you want and call &#8220;performance&#8221;, but are definitely not directly related.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I recently decided that I needed more space to backup\/archive data. So, I went out and bought a terabyte external drive ($240 at Costco). This drive is a WD MyBook Studio, which happens to come with USB, FireWire, and eSATA connections. I started to wonder how different those connections really are. The theoretical bandwidth of [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"class_list":["post-264","post","type-post","status-publish","format-standard","hentry","category-tech"],"_links":{"self":[{"href":"http:\/\/gregbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/264","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/gregbaker.ca\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/gregbaker.ca\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/gregbaker.ca\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/gregbaker.ca\/blog\/wp-json\/wp\/v2\/comments?post=264"}],"version-history":[{"count":0,"href":"http:\/\/gregbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/264\/revisions"}],"wp:attachment":[{"href":"http:\/\/gregbaker.ca\/blog\/wp-json\/wp\/v2\/media?parent=264"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/gregbaker.ca\/blog\/wp-json\/wp\/v2\/categories?post=264"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/gregbaker.ca\/blog\/wp-json\/wp\/v2\/tags?post=264"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}