<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SoftLayer Blog &#187; SAS</title>
	<atom:link href="http://blog.softlayer.com/tag/sas/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.softlayer.com</link>
	<description>A Behind the Scenes Look at the Best Hosting Provider in the World</description>
	<lastBuildDate>Fri, 24 May 2013 18:19:59 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
		<item>
		<title>Big Data at SoftLayer: The Importance of IOPS</title>
		<link>http://blog.softlayer.com/2012/big-data-at-softlayer-the-importance-of-iops/</link>
		<comments>http://blog.softlayer.com/2012/big-data-at-softlayer-the-importance-of-iops/#comments</comments>
		<pubDate>Mon, 17 Dec 2012 20:00:31 +0000</pubDate>
		<dc:creator>Kelly Hurst</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[SoftLayer]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[big data]]></category>
		<category><![CDATA[comparison]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[data set]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[disk I/O]]></category>
		<category><![CDATA[engineered servers]]></category>
		<category><![CDATA[hard drives]]></category>
		<category><![CDATA[input]]></category>
		<category><![CDATA[IOPS]]></category>
		<category><![CDATA[journal]]></category>
		<category><![CDATA[MongoDB]]></category>
		<category><![CDATA[operations]]></category>
		<category><![CDATA[output]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[RAID]]></category>
		<category><![CDATA[rate]]></category>
		<category><![CDATA[SAS]]></category>
		<category><![CDATA[speed]]></category>
		<category><![CDATA[SSD]]></category>

		<guid isPermaLink="false">http://blog.softlayer.com/?p=10220</guid>
		<description><![CDATA[The jet flow gates in the Hoover Dam can release up to 73,000 cubic feet &#8212; the equivalent of 546,040 gallons &#8212; of water per second at 120 miles per hour. Imagine replacing those jet flow gates with a single garden hose that pushes 25 gallons per minute (or 0.42 gallons per second). Things would [...]]]></description>
			<content:encoded><![CDATA[<p>The jet flow gates in the Hoover Dam can release up to 73,000 cubic feet &mdash; the equivalent of 546,040 gallons &mdash; of water per second at 120 miles per hour. Imagine replacing those jet flow gates with a single garden hose that pushes 25 gallons per minute (or 0.42 gallons per second). Things would get ugly pretty quickly. In the same way, a massive &#8220;big data&#8221; infrastructure can be crippled by insufficient IOPS.</p>
<p><a href="http://en.wikipedia.org/wiki/IOPS">IOPS</a> &mdash; Input/Output Operations Per Second &mdash; measure computer storage in terms of the number of read and write operations it can perform in a second. IOPS are a primary concern for database environments where content is being written and queried constantly, and when we take those database environments to the extreme (big data), the importance of IOPS can&#8217;t be overstated: If you aren&#8217;t able perform database reads and writes quickly in a big data environment, it doesn&#8217;t matter how many gigabytes, terabytes or petabytes you have in your database &#8230; You won&#8217;t be able to efficiently access, add to or modify your data set.</p>
<p>As we worked with <a href="http://www.10gen.com/">10gen</a> to create, test and tweak SoftLayer&#8217;s <a href="http://www.softlayer.com/solutions/big-data/mongodb/pricing">MongoDB engineered servers</a>, our primary focus centered on performance. Since the performance of massively scalable databases is dictated by the read and write operations to that database&#8217;s data set, we invested significant resources into maximizing the IOPS for each engineered server &#8230; And that involved a lot more than just swapping hard drives out of servers until we found a configuration that worked best. Yes, &#8220;Disk I/O&#8221; &mdash; the amount of input/output operations a given disk can perform &mdash; plays a significant role in big data IOPS, but many other factors limit big data performance. How is performance impacted by network-attached storage? At what point will a given CPU become a bottleneck? How much RAM should included in a base configuration to accommodate the load we expect our users to put on each tier of server? Are there operating system changes that can optimize the performance of a platform like MongoDB?</p>
<p>The resulting engineered servers are a testament to the blood, sweat and tears that were shed in the name of creating a reliable, high-performance big data environment. And I can prove it.</p>
<p>Most shared virtual instances &mdash; the scalable infrastructure many users employ for big data &mdash; use network-attached storage for their platform&#8217;s storage. When data has to be queried over a network connection (rather than from a local disk), you introduce latency and more &#8220;moving parts&#8221; that have to work together. Disk I/O might be amazing on the enterprise SAN where your data lives, but because that data is not stored on-server with your processor or memory resources, performance can sporadically go from &#8220;Amazing&#8221; to &#8220;I Hate My Life&#8221; depending on network traffic. When I&#8217;ve tested the IOPS for network-attached storage from a large competitor&#8217;s virtual instances, I saw an average of around 400 IOPS per mount. It&#8217;s difficult to say whether that&#8217;s &#8220;not good enough&#8221; because every application will have different needs in terms of concurrent reads and writes, but it certainly could be better. We performed some internal testing of the IOPS for the hard drive configurations in our Medium and Large MongoDB engineered servers to give you an apples-to-apples comparison.</p>
<p>Before we get into the tests, here are the specs for the servers we&#8217;re using:</p>
<style type="text/css">
  .comparison {float:left; margin-left:10px; margin-right:10px;}
  table th{background-color: #972f2c; color:#fff; padding:2px;}
 </style>
<div class="comparison"><strong>Medium (MD) MongoDB Engineered Server</strong><br />
Dual 6-core Intel 5670 CPUs<br />
CentOS 6 64-bit<br />
36GB RAM<br />
1Gb Network &#8211; Bonded</div>
<div class="comparison"><strong>Large (LG) MongoDB Engineered Server</strong><br />
Dual 8-core Intel E5-2620 CPUs<br />
CentOS 6 64-bit<br />
128GB RAM<br />
1Gb Network &#8211; Bonded</div>
<div style="clear:both; height:1px; margin:0; padding:0;">&nbsp;</div>
<p>The numbers shown in the table below reflect the average number of IOPS we recorded with a 100% random read/write workload on each of these engineered servers. To measure these IOPS, we used a tool called <a href="http://freecode.com/projects/fio">fio</a> with an 8k block size and iodepth at 128. Remembering that the virtual instance using network-attached storage was able to get 400 IOPS per mount, let&#8217;s look at how our &#8220;base&#8221; configurations perform:</p>
<table style="margin:0 auto; border:0;">
<tr>
<th colspan="2">Medium &#8211; 2 x 64GB SSD RAID1 (Journal) &#8211; 4 x 300GB 15k SAS RAID10 (Data)</th>
</tr>
<tr>
<td>Random Read IOPS &#8211; /var/lib/mongo/logs</td>
<td>2937</td>
</tr>
<tr>
<td>Random Write IOPS &#8211; /var/lib/mongo/logs</td>
<td>1306</td>
</tr>
<tr>
<td>Random Read IOPS &#8211; /var/lib/mongo/data</td>
<td>1720</td>
</tr>
<tr>
<td>Random Write IOPS &#8211; /var/lib/mongo/data</td>
<td>772</td>
</tr>
<tr>
<td>Random Read IOPS &#8211; /var/lib/mongo/data/journal</td>
<td>19659</td>
</tr>
<tr>
<td>Random Write IOPS &#8211; /var/lib/mongo/data/journal</td>
<td>8869</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<th colspan="2">Medium &#8211; 2 x 64GB SSD RAID1 (Journal) &#8211; 4 x 400GB SSD RAID10 (Data)</th>
</tr>
<tr>
<td>Random Read IOPS &#8211; /var/lib/mongo/logs</td>
<td>30269</td>
</tr>
<tr>
<td>Random Write IOPS &#8211; /var/lib/mongo/logs</td>
<td>13124</td>
</tr>
<tr>
<td>Random Read IOPS &#8211; /var/lib/mongo/data</td>
<td>33757</td>
</tr>
<tr>
<td>Random Write IOPS &#8211; /var/lib/mongo/data</td>
<td>14168</td>
</tr>
<tr>
<td>Random Read IOPS &#8211; /var/lib/mongo/data/journal</td>
<td>19644</td>
</tr>
<tr>
<td>Random Write IOPS &#8211; /var/lib/mongo/data/journal</td>
<td>8882</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<th colspan="2">Large &#8211; 2 x 64GB SSD RAID1 (Journal) &#8211; 6 x 600GB 15k SAS RAID10 (Data)</th>
</tr>
<tr>
<td>Random Read IOPS &#8211; /var/lib/mongo/logs</td>
<td>4820</td>
</tr>
<tr>
<td>Random Write IOPS &#8211; /var/lib/mongo/logs</td>
<td>2080</td>
</tr>
<tr>
<td>Random Read IOPS &#8211; /var/lib/mongo/data</td>
<td>2461</td>
</tr>
<tr>
<td>Random Write IOPS &#8211; /var/lib/mongo/data</td>
<td>1099</td>
</tr>
<tr>
<td>Random Read IOPS &#8211; /var/lib/mongo/data/journal</td>
<td>19639</td>
</tr>
<tr>
<td>Random Write IOPS &#8211; /var/lib/mongo/data/journal</td>
<td>8772</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<th colspan="2">Large &#8211; 2 x 64GB SSD RAID1 (Journal) &#8211; 6 x 400GB SSD RAID10 (Data)</th>
</tr>
<tr>
<td>Random Read IOPS &#8211; /var/lib/mongo/logs</td>
<td>32403</td>
</tr>
<tr>
<td>Random Write IOPS &#8211; /var/lib/mongo/logs</td>
<td>13928</td>
</tr>
<tr>
<td>Random Read IOPS &#8211; /var/lib/mongo/data</td>
<td>34536</td>
</tr>
<tr>
<td>Random Write IOPS &#8211; /var/lib/mongo/data</td>
<td>15412</td>
</tr>
<tr>
<td>Random Read IOPS &#8211; /var/lib/mongo/data/journal</td>
<td>19578</td>
</tr>
<tr>
<td>Random Write IOPS &#8211; /var/lib/mongo/data/journal</td>
<td>8835</td>
</tr>
</table>
<p>Clearly, the 400 IOPS per mount results you&#8217;d see in SAN-based storage can&#8217;t hold a candle to the performance of a physical disk, regardless of whether it&#8217;s SAS or SSD. As you&#8217;d expect, the &#8220;Journal&#8221; reads and writes have roughly the same IOPS between all of the configurations because all four configurations use 2 x 64GB SSD drives in RAID1. In both configurations, SSD drives provide better Data mount read/write performance than the 15K SAS drives, and the results suggest that having more physical drives in a Data mount will provide higher average IOPS. To put that observation to the test, I maxed out the number of hard drives in both configurations (10 in the 2U MD server and 34 in the 4U LG server) and recorded the results:</p>
<table style="margin:0 auto;">
<tr>
<th colspan="2">Medium &#8211; 2 x 64GB SSD RAID1 (Journal) &#8211; 10 x 300GB 15k SAS RAID10 (Data)</th>
</tr>
<tr>
<td>Random Read IOPS &#8211; /var/lib/mongo/logs</td>
<td>7175</td>
</tr>
<tr>
<td>Random Write IOPS &#8211; /var/lib/mongo/logs</td>
<td>3481</td>
</tr>
<tr>
<td>Random Read IOPS &#8211; /var/lib/mongo/data</td>
<td>6468</td>
</tr>
<tr>
<td>Random Write IOPS &#8211; /var/lib/mongo/data</td>
<td>1763</td>
</tr>
<tr>
<td>Random Read IOPS &#8211; /var/lib/mongo/data/journal</td>
<td>18383</td>
</tr>
<tr>
<td>Random Write IOPS &#8211; /var/lib/mongo/data/journal</td>
<td>8765</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<th colspan="2">Medium &#8211; 2 x 64GB SSD RAID1 (Journal) &#8211; 10 x 400GB SSD RAID10 (Data)</th>
</tr>
<tr>
<td>Random Read IOPS &#8211; /var/lib/mongo/logs</td>
<td>32160</td>
</tr>
<tr>
<td>Random Write IOPS &#8211; /var/lib/mongo/logs</td>
<td>12181</td>
</tr>
<tr>
<td>Random Read IOPS &#8211; /var/lib/mongo/data</td>
<td>34642</td>
</tr>
<tr>
<td>Random Write IOPS &#8211; /var/lib/mongo/data</td>
<td>14545</td>
</tr>
<tr>
<td>Random Read IOPS &#8211; /var/lib/mongo/data/journal</td>
<td>19699</td>
</tr>
<tr>
<td>Random Write IOPS &#8211; /var/lib/mongo/data/journal</td>
<td>8764</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<th colspan="2">Large &#8211; 2 x 64GB SSD RAID1 (Journal) &#8211; 34 x 600GB 15k SAS RAID10 (Data)</th>
</tr>
<tr>
<td>Random Read IOPS &#8211; /var/lib/mongo/logs</td>
<td>17566</td>
</tr>
<tr>
<td>Random Write IOPS &#8211; /var/lib/mongo/logs</td>
<td>11918</td>
</tr>
<tr>
<td>Random Read IOPS &#8211; /var/lib/mongo/data</td>
<td>9978</td>
</tr>
<tr>
<td>Random Write IOPS &#8211; /var/lib/mongo/data</td>
<td>6526</td>
</tr>
<tr>
<td>Random Read IOPS &#8211; /var/lib/mongo/data/journal</td>
<td>18522</td>
</tr>
<tr>
<td>Random Write IOPS &#8211; /var/lib/mongo/data/journal</td>
<td>8722</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<th colspan="2">Large &#8211; 2 x 64GB SSD RAID1 (Journal) &#8211; 34 x 400GB SSD RAID10 (Data)</th>
</tr>
<tr>
<td>Random Read IOPS &#8211; /var/lib/mongo/logs</td>
<td>34220</td>
</tr>
<tr>
<td>Random Write IOPS &#8211; /var/lib/mongo/logs</td>
<td>15388</td>
</tr>
<tr>
<td>Random Read IOPS &#8211; /var/lib/mongo/data</td>
<td>35998</td>
</tr>
<tr>
<td>Random Write IOPS &#8211; /var/lib/mongo/data</td>
<td>17120</td>
</tr>
<tr>
<td>Random Read IOPS &#8211; /var/lib/mongo/data/journal</td>
<td>17998</td>
</tr>
<tr>
<td>Random Write IOPS &#8211; /var/lib/mongo/data/journal</td>
<td>8822</td>
</tr>
</table>
<p>It should come as no surprise that by adding more drives into the configuration, we get better IOPS, but you might be wondering why the results aren&#8217;t &#8220;betterer&#8221; when it comes to the IOPS in the SSD drive configurations. While the IOPS numbers improve going from four to ten drives in the medium engineered server and six to thirty-four drives in the large engineered server, they don&#8217;t increase as significantly as the IOPS differences in the SAS drives. This is what I meant when I explained that several factors contribute to and potentially limit IOPS performance. In this case, the limiting factor throttling the (ridiculously high) IOPS is the RAID card we are using in the servers. We&#8217;ve been working with our RAID card vendor to test a new card that will open a little more headroom for SSD IOPS, but that replacement card doesn&#8217;t provide the consistency and reliability we need for these servers (which is just as important as speed).</p>
<p>There are probably a dozen other observations I could point out about how each result compares with the others (and why), but I&#8217;ll stop here and open the floor for you. Do you notice anything interesting in the results? Does anything surprise you? What kind of IOPS performance have you seen from your server/cloud instance when running a tool like fio?</p>
<p>-Kelly</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.softlayer.com/2012/big-data-at-softlayer-the-importance-of-iops/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Solid State Drives – In House Performance Stats</title>
		<link>http://blog.softlayer.com/2009/solid-state-drives-%e2%80%93-in-house-performance-stats/</link>
		<comments>http://blog.softlayer.com/2009/solid-state-drives-%e2%80%93-in-house-performance-stats/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 15:20:38 +0000</pubDate>
		<dc:creator>Brad Lewis</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Introductions]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Sales]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[advantages]]></category>
		<category><![CDATA[comparisons]]></category>
		<category><![CDATA[drives]]></category>
		<category><![CDATA[growth]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[new]]></category>
		<category><![CDATA[overview]]></category>
		<category><![CDATA[products]]></category>
		<category><![CDATA[RAID]]></category>
		<category><![CDATA[SAS]]></category>
		<category><![CDATA[SATA]]></category>
		<category><![CDATA[SoftLayer]]></category>
		<category><![CDATA[solid]]></category>
		<category><![CDATA[SSD]]></category>
		<category><![CDATA[state]]></category>

		<guid isPermaLink="false">http://theinnerlayer.softlayer.com/?p=603</guid>
		<description><![CDATA[I love working at SoftLayer. I get to play with the newest hardware before anyone else. Intel, Adaptec, Supermicro… The list goes on. If they are going to release something new, we get to play with it first. I also like progression. Speed, size, performance, reliability; I like new products and technologies that make big [...]]]></description>
			<content:encoded><![CDATA[<p>I love working at SoftLayer.  I get to play with the newest hardware before anyone else.  Intel, Adaptec, Supermicro… The list goes on.  If they are going to release something new, we get to play with it first.  I also like progression.  Speed, size, performance, reliability; I like new products and technologies that make big jumps in these areas.  I am always looking to push components and complete systems to the limits.</p>
<p>But alas, Thomas Norris stole my thunder!  Check out his article “SSD: A Peek into the Future” for the complete skinny on the SSD’s we use.  I seem to be a bit to concise for a nice long blog anyways. But not to worry, I’ve got some nifty numbers that will blow the jam out of your toes!</p>
<p>Solid State Drives (SSD) represent a large jump in drive performance.  Not to mention smaller physical size, lower power consumption, and lower heat emissions.  The majority of drive activity is random read/write.  SSD drives have drastically improved in this area compared to mechanical drives.  This results in a drastic overall performance increase for SSD drives.</p>
<p>This is a comparison of the Intel 32GB X25-E Extreme drive vs. other drives we carry.  Note the massive jump in the random read/write speed of the SSD drive.</p>
<p>No more waiting on physical R/W heads to move around.  How archaic!</p>
<p><img src="http://www.softlayer.com/images/innerlayer/brad_lewis_1.gif" alt="Chart" /></p>
<p>Please note that no performance utility should be used to definitively judge a component or system.   In the end, only real time usage is the final judge.  But performance tests can give you a good idea of how a component or system compares to others.</p>
<p>Single drive performance increases directly translate into big improvements for RAID configurations as well.  I have compared two of our fastest SATA and SAS four drive RAID 10 setups to a four drive SSD RAID 10 using an Adaptec 5405 Controller.</p>
<p><img src="http://www.softlayer.com/images/innerlayer/brad_lewis_2.gif" alt="Chart" /></p>
<p>The Adaptec 5405 RAID controller certainly plays a part in the performance increase, on top on the simple speed doubling due to 2 drives being read simultaneously. (See my future blog on the basics or RAID levels, or check <a href="http://en.wikipedia.org/wiki/Standard_RAID_levels">Wikipedia</a>) .</p>
<p>Propeller heads read on:</p>
<p>The numbers indicate a multiplied increase if you take the base drive speed (Cheetah – 11.7mbps / X25-E – 64.8mbps) and double it (the theoretical increase a RAID 10 would give): 23.4mbps and 129.6mbps respectively.  Actually performance tests show 27.3mbps and 208.1mbps.  That means the Cheetahs are getting a 15% performance boost on random read/write and the X25-E a whopping 37% due to the RAID card.  Hooray for math!</p>
<p>Once again, this is all performance tests and a bit of math speculation. The only real measure of performance, IMO, is how it performs the job you need it to do.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.softlayer.com/2009/solid-state-drives-%e2%80%93-in-house-performance-stats/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
