<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Why RAID 10 doesn&#8217;t help on EBS</title>
	<atom:link href="http://www.nevdull.com/2008/08/24/why-raid-10-doesnt-help-on-ebs/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.nevdull.com/2008/08/24/why-raid-10-doesnt-help-on-ebs/</link>
	<description>Sharing my awesomeness just a little bit at a time.</description>
	<lastBuildDate>Thu, 15 Jul 2010 02:38:12 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
	<item>
		<title>By: Ken Chase</title>
		<link>http://www.nevdull.com/2008/08/24/why-raid-10-doesnt-help-on-ebs/comment-page-1/#comment-51058</link>
		<dc:creator>Ken Chase</dc:creator>
		<pubDate>Fri, 05 Feb 2010 18:20:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.nevdull.com/?p=152#comment-51058</guid>
		<description>Why is everyone talking about RAW total performance?

I dont know many applications that really need even 10MB of data written sync() to disk and returning in 0.1s. That&#039;s a *HUGE* amount of bandwidth to continually deal with, even if you only get 1 request every 5 seconds. Very very few applications require this design (there are some that do, but most LAMP installs running a website with a mysql back end DO NOT).

Why doesnt anyone talk about random seeks per second? I do most of my bonnies with -s 0 and -n 512:1000:0:512 -b  to ignore the total throughput and see how fast it can write 512*1024 1K files to disk - SYNC (so we dont get buffering help, since mysql doesnt use it, yes i know inno has its own buffering management) - but that gives me AN IDEA of what the drive seek and random write performance is.

Random reads isnt as critical to me, more ram will help with that, which is why it&#039;s important to keep your database files smaller than your free cache ram - wasted space in databases means you cant hold most of your DB in cache, and you&#039;ll be going to disk to retrieve data instead. Bad design.

Writes, esp sync writes, are the costly thing (though EC2 instances seem to be tuned to have *HUGE* buffers, ive seen 800mb before! tho sync() writes wont use that) - so make sure whatever you are using sync() for NEEDS to survive a crash/reboot, cuz that&#039;s what sync is for. If you can design around async writes, and avoid full ACID db compliance, do it. (memcached sped up my one customer&#039;s front page load by 2x and reduced cpu usage by 5x and disk usage by 10x).</description>
		<content:encoded><![CDATA[<p>Why is everyone talking about RAW total performance?</p>
<p>I dont know many applications that really need even 10MB of data written sync() to disk and returning in 0.1s. That&#8217;s a *HUGE* amount of bandwidth to continually deal with, even if you only get 1 request every 5 seconds. Very very few applications require this design (there are some that do, but most LAMP installs running a website with a mysql back end DO NOT).</p>
<p>Why doesnt anyone talk about random seeks per second? I do most of my bonnies with -s 0 and -n 512:1000:0:512 -b  to ignore the total throughput and see how fast it can write 512*1024 1K files to disk &#8211; SYNC (so we dont get buffering help, since mysql doesnt use it, yes i know inno has its own buffering management) &#8211; but that gives me AN IDEA of what the drive seek and random write performance is.</p>
<p>Random reads isnt as critical to me, more ram will help with that, which is why it&#8217;s important to keep your database files smaller than your free cache ram &#8211; wasted space in databases means you cant hold most of your DB in cache, and you&#8217;ll be going to disk to retrieve data instead. Bad design.</p>
<p>Writes, esp sync writes, are the costly thing (though EC2 instances seem to be tuned to have *HUGE* buffers, ive seen 800mb before! tho sync() writes wont use that) &#8211; so make sure whatever you are using sync() for NEEDS to survive a crash/reboot, cuz that&#8217;s what sync is for. If you can design around async writes, and avoid full ACID db compliance, do it. (memcached sped up my one customer&#8217;s front page load by 2x and reduced cpu usage by 5x and disk usage by 10x).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Amazon EC2 Disk Performance and Why RAID 10 is bad for EBS</title>
		<link>http://www.nevdull.com/2008/08/24/why-raid-10-doesnt-help-on-ebs/comment-page-1/#comment-51056</link>
		<dc:creator>Amazon EC2 Disk Performance and Why RAID 10 is bad for EBS</dc:creator>
		<pubDate>Tue, 19 Jan 2010 18:03:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.nevdull.com/?p=152#comment-51056</guid>
		<description>[...] on cloud-based performance. Today, I am looking at the performance of EBS on Amazon and the use of RAID 10 for disk writes. If you have a lot of writes to disk, then seriously consider something other than RAID 10. [...]</description>
		<content:encoded><![CDATA[<p>[...] on cloud-based performance. Today, I am looking at the performance of EBS on Amazon and the use of RAID 10 for disk writes. If you have a lot of writes to disk, then seriously consider something other than RAID 10. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: redoit</title>
		<link>http://www.nevdull.com/2008/08/24/why-raid-10-doesnt-help-on-ebs/comment-page-1/#comment-46540</link>
		<dc:creator>redoit</dc:creator>
		<pubDate>Mon, 13 Apr 2009 16:09:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.nevdull.com/?p=152#comment-46540</guid>
		<description>Redo those benchmarks using a data source other than /dev/zero. Everyone is doing this benchmark with a stream of nulls, and then people quote and reference, quote and reference.

The real world performance of these technologies is not the synthetic case, and there is compression going on. So if you hand a compression engine a 3 gigabyte burst of nulls, that you can compress down to 8 bytes. 

If the benchmarks don&#039;t represent real-world data they&#039;re not useful for measuring performance. 

Amazon&#039;s EBS does not run nearly this fast on real data unless you&#039;re very concerned with manipulating files that are filled with zeroes.</description>
		<content:encoded><![CDATA[<p>Redo those benchmarks using a data source other than /dev/zero. Everyone is doing this benchmark with a stream of nulls, and then people quote and reference, quote and reference.</p>
<p>The real world performance of these technologies is not the synthetic case, and there is compression going on. So if you hand a compression engine a 3 gigabyte burst of nulls, that you can compress down to 8 bytes. </p>
<p>If the benchmarks don&#8217;t represent real-world data they&#8217;re not useful for measuring performance. </p>
<p>Amazon&#8217;s EBS does not run nearly this fast on real data unless you&#8217;re very concerned with manipulating files that are filled with zeroes.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Russell Smith</title>
		<link>http://www.nevdull.com/2008/08/24/why-raid-10-doesnt-help-on-ebs/comment-page-1/#comment-39609</link>
		<dc:creator>Russell Smith</dc:creator>
		<pubDate>Thu, 18 Sep 2008 11:08:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.nevdull.com/?p=152#comment-39609</guid>
		<description>@devnull Your right 3 volumes in a RAID 10 seems odd, but it works - mdadm is pretty clever. 55mb / s makes sense also now you point out the obvious, these benchmarks were done quickly!

@James I will be doing some different benchmarks when I get some free time, to check for random read / write performance - I have a feeling other RAID levels may help.

@jeff yes, it looks very much like its hitting a gigabit network speed limit</description>
		<content:encoded><![CDATA[<p>@devnull Your right 3 volumes in a RAID 10 seems odd, but it works &#8211; mdadm is pretty clever. 55mb / s makes sense also now you point out the obvious, these benchmarks were done quickly!</p>
<p>@James I will be doing some different benchmarks when I get some free time, to check for random read / write performance &#8211; I have a feeling other RAID levels may help.</p>
<p>@jeff yes, it looks very much like its hitting a gigabit network speed limit</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: NevDull</title>
		<link>http://www.nevdull.com/2008/08/24/why-raid-10-doesnt-help-on-ebs/comment-page-1/#comment-37668</link>
		<dc:creator>NevDull</dc:creator>
		<pubDate>Fri, 29 Aug 2008 19:32:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.nevdull.com/?p=152#comment-37668</guid>
		<description>@Jeff,

To be honest,  I&#039;ve not read much about the actual implementation details of much of what goes on behind the APIs.  It seems to me that things are a little skimpy on details because Amazon wants it to &quot;not matter&quot; -- stop worrying about the details, and instead worry about how to get business done.  S3 had limited appeal to me because it and SimpleDB required redesigning solutions specifically for Amazon.  EBS, allowing far more flexibility to use existing solutions simply migrated to the cloud, I found particularly interesting.

Multicast between EC2 instances, and global traffic management are the next two things I&#039;d love to see.  Multicast for drop-in clustering solutions (including distributed, peer-to-peer synced caches), and global traffic management to allow both traffic distribution and seamless failover without a hacked-together add-a-bottleneck proxies.

@James,
My primary point was that host-based mirroring is fairly pointless, and fundamentally harmful from a performance perspective.  Russell seemed to consider it a mystery that his assumption that RAID10 was slower, because he&#039;s been told that it&#039;s the fastest.  If parity&#039;s being done on the storage side, it&#039;s wasteful to do it on the host side.  The ability to arbitrarily snapshot should realistically meet most peoples&#039; data protection needs, and anyone for whom it doesn&#039;t is going to be the &quot;it&#039;s mine to touch, feel, power, and cool&quot; type of business.

Please do continue to share your findings, though.  I&#039;ve got a lot of other things in my head at the moment or I&#039;d try playing myself.

If you&#039;re having fun, want to see how ZFS / RAID-Z/Z2 does on EBS? :)</description>
		<content:encoded><![CDATA[<p>@Jeff,</p>
<p>To be honest,  I&#8217;ve not read much about the actual implementation details of much of what goes on behind the APIs.  It seems to me that things are a little skimpy on details because Amazon wants it to &#8220;not matter&#8221; &#8212; stop worrying about the details, and instead worry about how to get business done.  S3 had limited appeal to me because it and SimpleDB required redesigning solutions specifically for Amazon.  EBS, allowing far more flexibility to use existing solutions simply migrated to the cloud, I found particularly interesting.</p>
<p>Multicast between EC2 instances, and global traffic management are the next two things I&#8217;d love to see.  Multicast for drop-in clustering solutions (including distributed, peer-to-peer synced caches), and global traffic management to allow both traffic distribution and seamless failover without a hacked-together add-a-bottleneck proxies.</p>
<p>@James,<br />
My primary point was that host-based mirroring is fairly pointless, and fundamentally harmful from a performance perspective.  Russell seemed to consider it a mystery that his assumption that RAID10 was slower, because he&#8217;s been told that it&#8217;s the fastest.  If parity&#8217;s being done on the storage side, it&#8217;s wasteful to do it on the host side.  The ability to arbitrarily snapshot should realistically meet most peoples&#8217; data protection needs, and anyone for whom it doesn&#8217;t is going to be the &#8220;it&#8217;s mine to touch, feel, power, and cool&#8221; type of business.</p>
<p>Please do continue to share your findings, though.  I&#8217;ve got a lot of other things in my head at the moment or I&#8217;d try playing myself.</p>
<p>If you&#8217;re having fun, want to see how ZFS / RAID-Z/Z2 does on EBS? <img src='http://www.nevdull.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James</title>
		<link>http://www.nevdull.com/2008/08/24/why-raid-10-doesnt-help-on-ebs/comment-page-1/#comment-37661</link>
		<dc:creator>James</dc:creator>
		<pubDate>Fri, 29 Aug 2008 17:40:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.nevdull.com/?p=152#comment-37661</guid>
		<description>I miss one thing:

Even running this test in 4 EBS units in parallel I got this (each):
1073741824 bytes (1,1 GB) copied, 37,6084 seconds, 28,6 MB/s
1073741824 bytes (1,1 GB) copied, 38,6781 seconds, 27,8 MB/s
1073741824 bytes (1,1 GB) copied, 38,6271 seconds, 27,8 MB/s
1073741824 bytes (1,1 GB) copied, 39,148 seconds, 27,4 MB/s

There is a limitation of ~108MB/s. Let&#039;s calculate:
In a gigabit connection the max transfer I can get is:
1024Mbits/s / 8 = 128MB/s
~108MB/s is the throughput.

Okie.. it&#039;s not a mystery. 
But we need to take in consideration more scenarios:

To sequential WRITEs:
With 2 EBS in RAID 0 you achieve this! There&#039;s no need to any other configuration.

To non-sequential WRITEs (the most common scenario):
Need to do tests... I believe that 2 EBS will don&#039;t archive 108MB/s.

To sequential READs:
Need to do tests.

To non-sequential READs:
Need to do tests.</description>
		<content:encoded><![CDATA[<p>I miss one thing:</p>
<p>Even running this test in 4 EBS units in parallel I got this (each):<br />
1073741824 bytes (1,1 GB) copied, 37,6084 seconds, 28,6 MB/s<br />
1073741824 bytes (1,1 GB) copied, 38,6781 seconds, 27,8 MB/s<br />
1073741824 bytes (1,1 GB) copied, 38,6271 seconds, 27,8 MB/s<br />
1073741824 bytes (1,1 GB) copied, 39,148 seconds, 27,4 MB/s</p>
<p>There is a limitation of ~108MB/s. Let&#8217;s calculate:<br />
In a gigabit connection the max transfer I can get is:<br />
1024Mbits/s / 8 = 128MB/s<br />
~108MB/s is the throughput.</p>
<p>Okie.. it&#8217;s not a mystery.<br />
But we need to take in consideration more scenarios:</p>
<p>To sequential WRITEs:<br />
With 2 EBS in RAID 0 you achieve this! There&#8217;s no need to any other configuration.</p>
<p>To non-sequential WRITEs (the most common scenario):<br />
Need to do tests&#8230; I believe that 2 EBS will don&#8217;t archive 108MB/s.</p>
<p>To sequential READs:<br />
Need to do tests.</p>
<p>To non-sequential READs:<br />
Need to do tests.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James</title>
		<link>http://www.nevdull.com/2008/08/24/why-raid-10-doesnt-help-on-ebs/comment-page-1/#comment-37660</link>
		<dc:creator>James</dc:creator>
		<pubDate>Fri, 29 Aug 2008 17:22:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.nevdull.com/?p=152#comment-37660</guid>
		<description>It&#039;s important to know that it is only a WRITE test.
Maybe with  Raid 10 will have some gains in READ only.</description>
		<content:encoded><![CDATA[<p>It&#8217;s important to know that it is only a WRITE test.<br />
Maybe with  Raid 10 will have some gains in READ only.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeff</title>
		<link>http://www.nevdull.com/2008/08/24/why-raid-10-doesnt-help-on-ebs/comment-page-1/#comment-37431</link>
		<dc:creator>Jeff</dc:creator>
		<pubDate>Tue, 26 Aug 2008 15:39:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.nevdull.com/?p=152#comment-37431</guid>
		<description>So perhaps its setup like this:

Single Spindle - 1 host(obvious)
RAID 0 - 1 host

Raid 3/5 - Two Servers(Disk 1 2 in first host, Disk 3+ on second host)

RAID 10 - Two Servers(Disk 1 2 3 in first host, Disk 4 5 6 on second host)

Look at the bandwidth your getting. It screams at gigabit as the culprit, no?  

I&#039;d even go far as to say a modified GNBD scheme is in play...http://sourceware.org/cluster/gnbd/

Thoughts?</description>
		<content:encoded><![CDATA[<p>So perhaps its setup like this:</p>
<p>Single Spindle &#8211; 1 host(obvious)<br />
RAID 0 &#8211; 1 host</p>
<p>Raid 3/5 &#8211; Two Servers(Disk 1 2 in first host, Disk 3+ on second host)</p>
<p>RAID 10 &#8211; Two Servers(Disk 1 2 3 in first host, Disk 4 5 6 on second host)</p>
<p>Look at the bandwidth your getting. It screams at gigabit as the culprit, no?  </p>
<p>I&#8217;d even go far as to say a modified GNBD scheme is in play&#8230;http://sourceware.org/cluster/gnbd/</p>
<p>Thoughts?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.226 seconds -->
