<?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>PlanetMysql.ru - информация о СУБД MySQL &#187; FusionIO</title>
	<atom:link href="http://planetmysql.ru/category/fusionio/feed/" rel="self" type="application/rss+xml" />
	<link>http://planetmysql.ru</link>
	<description>Блог о самой популярной СУБД MySQL</description>
	<lastBuildDate>Thu, 24 May 2012 17:22:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Virident tachIOn: New player on Flash PCI-E cards market</title>
		<link>http://www.mysqlperformanceblog.com/2010/06/15/virident-tachion-new-player-on-flash-pci-e-cards-market/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=virident-tachion-new-player-on-flash-pci-e-cards-market</link>
		<comments>http://www.mysqlperformanceblog.com/2010/06/15/virident-tachion-new-player-on-flash-pci-e-cards-market/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 07:39:13 +0000</pubDate>
		<dc:creator>MySQL Performance Blog</dc:creator>
				<category><![CDATA[benchmarks]]></category>
		<category><![CDATA[FusionIO]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[ssd]]></category>
		<category><![CDATA[virident]]></category>

		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=2968</guid>
		<description><![CDATA[(Note: The review was done as part of our consulting practice, but is totally independent and fully reflects our opinion)
In my talk on MySQL Conference and Expo 2010  &#8220;An Overview of Flash Storage for Databases&#8221; I mentioned that most likely there are other players coming soon. I actually was not aware about any real names at that time, it was just a guess, as PCI-E market is really attractive so FusionIO can&#8217;t stay alone for long time. So I am not surprised to see new card provided by Virident and I was lucky enough to test  a pre-production sample Virident tachIOn 400GB SLC card.
I think it will be fair to say that Virident targets where right now FusionIO has a monopoly, and it will finally bring some competition to the market, which I believe is good for the end users. I am looking forward to price competition ( not having real numbers I can guess that vendors still put high margin in the price) as well as high performance in general and stable performance under high load in particular, and also competition in capacity and data reliability areas.
Priceline for Virident tachIOn cards already shows the price competition: oriented price for tachIOn 400GB is 13,600$ (that is 34$/GB) , and entry-base card is 200GB with price 6,800$ (there also is 300GB card in product line). Price for FusionIO 160GB SLC ( from dell.com, price on 14-Jun-2010 ) is 6,308.99$ ( that is 39.5$/GB)
Couple words about product, I know that Virident engineering team was concentrating on getting stable write performance in long running
write activities and in cases when space utilization is close to 100%. As you may know (check my presentation) SSD design requires background
&#8220;garbage collector&#8221; activity, which requires space to operate and Virident card already has enough space reservation to get stable write performance even when the disk is almost full.
As for reliability, I think, the design of the card is quite neat. The card by itself contains bunch of replaceable flash modules, and each individual module can be changed in case of failure. Also internally modules are joined in RAID (it is fully transparent for end user). 

All this guarantees good level of confidence in data reliability: if a single module fails, the internal RAID will allow to continue operations, and after the replacement of module &#8211; it will be rebuilt. It still leaves the controller on card as single point of failure, but in this case all flash modules can be safely relocated to the new card with working controller. (Note: It was not tested by Percona engineers, but taken from vendor&#8217;s specification)
As for power failures &#8211; flash modules also come with capacitors which guarantees data delivery to final media even if power is lost on the main host. (Note: It was not tested by Percona engineers, but taken from vendor&#8217;s specification)
Now to most interesting part &#8211; performance numbers. I took sysbench fileio benchmark with 16KB blocksize to see what maximal performance we can expect.
Server specification is:

  Supermicro X8DTH series motherboard

  2 x Xeon E5520 (2.27GHz) processors w/HT enabled (16 cores)

  64GB of ECC/Registered DDR3 DRAM

  Centos 5.3 2-6.18.164 Kernel

  Filesystem is XFS formatted with mkfs.xfs -s size=4096 option ( size=4096, sector size, is very important to have aligned IO requests) and mounted with nobarrier option

  Benchmark: sysbench fileio on 100GB file, 16KB blocksize


The raw results are available on Wiki 
And the graphs for random read, writes and sequential writes:

I think very interesting to see distribution of 95% response time results ( 0 time is obviously the problem in sysbench, which has no enough time resolution for such very fast operations)

As you can see we can get about 400MB/sec random write bandwidth with 8-16 threads and
with 3.1ms (for 8 threads) and 3.8ms (16 threads) response time in 95% of cases.
As some issue here, I should mention, that despite the good response time results,
the maximal response time in some cases can jump to 300 ms per request, and I was told
it corresponds to garbage collector activity and will be fixed in the production release of driver.
I think it would be fair to get comparison with FusionIO card, especially for write pressure case
As you may know FusionIO recommends to have space reservation to get sustainable  write performance
(Tuning Techniques for Writes).
I took FusionIO ioDrive 160GB SLC card, and tested fully formatted card (filesize 145GB), card formatted with 25% space reservation (file size 110GB), and Virident card 390GB filesize. It also allows us to see if Virident tachIOn card can sustain write in fully utilized card.
As disclaimer I want to mention that Virident tachIOn card was fine tuned by Virident engineers, while FusionIO card was tuned only by me and I may not have all knowledge needed for FusionIO tuning.
First graph is random reads, so see compare read performance

As you see in 1 and 4 threads FusionIO is better, while with more threads Virident card scales better
And now random writes:

You can see that FusionIO definitely needs space reservation to provide high write bandwidth, and it comes with
cost hit ( 25% space reservation -&#62; 25% increase $/GB).
In conclusion I can highlight:

  I am impressed with architecture design with replaceable individual flash modules, I think it establishes new high-end standard for flash devices

  With  single card you can get over 1GB/sec bandwidth in random reads (16-64 working threads), and it is the maximal results what I&#8217;ve seen so far ( again for single card)

  Random write bandwidth exceeds 400MB/sec (8-16 working threads)

  Random read/write mix results are also impressive, and it can be quite important in workloads like FlashCache, where card have both concurrent read and write pressure

  Quite stable sequential writes performance (important in question for log related activity in MySQL)


I am looking forward to present results in sysbench oltp, tpcc workload, and also in FlashCahce mode.
    
    Entry posted by Vadim &#124;
      No comment
    Add to:  &#124;  &#124;  &#124;  &#124; ]]></description>
			<content:encoded><![CDATA[<p>(<strong>Note</strong>: The review was done as part of our consulting practice, but is totally independent and fully reflects our opinion)</p>
<p>In my talk on MySQL Conference and Expo 2010 <a href="http://en.oreilly.com/mysql2010/public/schedule/detail/12465"> &#8220;An Overview of Flash Storage for Databases&#8221;</a> I mentioned that most likely there are other players coming soon. I actually was not aware about any real names at that time, it was just a guess, as PCI-E market is really attractive so FusionIO can&#8217;t stay alone for long time. So I am not surprised to see new card provided by <a href="http://virident.com/">Virident</a> and I was lucky enough to test  a pre-production sample <strong>Virident tachIOn 400GB SLC</strong> card.</p>
<p>I think it will be fair to say that Virident targets where right now FusionIO has a monopoly, and it will finally bring some competition to the market, which I believe is good for the end users. I am looking forward to price competition ( not having real numbers I can guess that vendors still put high margin in the price) as well as high performance in general and stable performance under high load in particular, and also competition in capacity and data reliability areas.</p>
<p>Priceline for Virident tachIOn cards already shows the price competition: oriented price for tachIOn 400GB is <strong>13,600$</strong> (that is <strong>34$/GB</strong>) , and entry-base card is 200GB with price 6,800$ (there also is 300GB card in product line). Price for FusionIO 160GB SLC ( from <a href="http://accessories.us.dell.com/sna/productdetail.aspx?sku=A3728564&amp;cs=04&amp;c=us&amp;l=en&amp;dgc=SS&amp;cid=27722&amp;lid=628335">dell.com</a>, price on 14-Jun-2010 ) is <strong>6,308.99$</strong> ( that is <strong>39.5$/GB</strong>)</p>
<p>Couple words about product, I know that Virident engineering team was concentrating on getting stable write performance in long running<br />
write activities and in cases when space utilization is close to 100%. As you may know (check my presentation) SSD design requires background<br />
&#8220;garbage collector&#8221; activity, which requires space to operate and Virident card already has enough space reservation to get stable write performance even when the disk is almost full.</p>
<p>As for reliability, I think, the design of the card is quite neat. The card by itself contains bunch of replaceable flash modules, and each individual module can be changed in case of failure. Also internally modules are joined in RAID (it is fully transparent for end user). </p>
<p><a href="http://www.mysqlperformanceblog.com/wp-content/uploads/2010/06/tachIOn.png"><img src="http://www.mysqlperformanceblog.com/wp-content/uploads/2010/06/tachIOn.png" alt="" title="tachIOn" width="600" height="389" class="aligncenter size-full wp-image-2972" /></a></p>
<p>All this guarantees good level of confidence in data reliability: if a single module fails, the internal RAID will allow to continue operations, and after the replacement of module &#8211; it will be rebuilt. It still leaves the controller on card as single point of failure, but in this case all flash modules can be safely relocated to the new card with working controller. (<strong>Note</strong>: It was not tested by Percona engineers, but taken from vendor&#8217;s specification)</p>
<p>As for power failures &#8211; flash modules also come with capacitors which guarantees data delivery to final media even if power is lost on the main host. (<strong>Note</strong>: It was not tested by Percona engineers, but taken from vendor&#8217;s specification)</p>
<p>Now to most interesting part &#8211; performance numbers. I took sysbench fileio benchmark with 16KB blocksize to see what maximal performance we can expect.</p>
<p>Server specification is:</p>
<ul>
<li>  Supermicro X8DTH series motherboard
</li>
<li>  2 x Xeon E5520 (2.27GHz) processors w/HT enabled (16 cores)
</li>
<li>  64GB of ECC/Registered DDR3 DRAM
</li>
<li>  Centos 5.3 2-6.18.164 Kernel
</li>
<li>  Filesystem is XFS formatted with <code>mkfs.xfs -s size=4096</code> option ( size=4096, sector size, is very important to have aligned IO requests) and mounted with <code>nobarrier</code> option
</li>
<li>  Benchmark: sysbench fileio on 100GB file, 16KB blocksize
</li>
</ul>
<p>The raw results are available <a href="http://www.percona.com/docs/wiki/benchmark%3Assd%3Avirident%3Astart">on Wiki</a> </p>
<p>And the graphs for random read, writes and sequential writes:</p>
<p><a href="http://www.mysqlperformanceblog.com/wp-content/uploads/2010/06/fileio.png"><img src="http://www.mysqlperformanceblog.com/wp-content/uploads/2010/06/fileio.png" alt="" title="fileio" width="644" height="358" class="aligncenter size-full wp-image-2970" /></a></p>
<p>I think very interesting to see distribution of 95% response time results ( 0 time is obviously the problem in sysbench, which has no enough time resolution for such very fast operations)</p>
<p><a href="http://www.mysqlperformanceblog.com/wp-content/uploads/2010/06/resptime.png"><img src="http://www.mysqlperformanceblog.com/wp-content/uploads/2010/06/resptime.png" alt="" title="resptime" width="483" height="291" class="aligncenter size-full wp-image-2971" /></a></p>
<p>As you can see we can get about <strong>400MB/sec</strong> random write bandwidth with 8-16 threads and<br />
with <strong>3.1ms</strong> (for 8 threads) and <strong>3.8ms</strong> (16 threads) response time in 95% of cases.</p>
<p>As some issue here, I should mention, that despite the good response time results,<br />
the maximal response time in some cases can jump to 300 ms per request, and I was told<br />
it corresponds to garbage collector activity and will be fixed in the production release of driver.</p>
<p>I think it would be fair to get comparison with FusionIO card, especially for write pressure case<br />
As you may know FusionIO recommends to have space reservation to get sustainable  write performance<br />
(<a href="http://kb.fusionio.com/KB/a51/tuning-techniques-for-writes.aspx">Tuning Techniques for Writes</a>).</p>
<p>I took FusionIO ioDrive 160GB SLC card, and tested fully formatted card (filesize 145GB), card formatted with 25% space reservation (file size 110GB), and Virident card 390GB filesize. It also allows us to see if Virident tachIOn card can sustain write in fully utilized card.</p>
<p>As <strong>disclaimer</strong> I want to mention that Virident tachIOn card was fine tuned by Virident engineers, while FusionIO card was tuned only by me and I may not have all knowledge needed for FusionIO tuning.</p>
<p>First graph is random reads, so see compare read performance</p>
<p><a href="http://www.mysqlperformanceblog.com/wp-content/uploads/2010/06/vsFusionIOrandread.png"><img src="http://www.mysqlperformanceblog.com/wp-content/uploads/2010/06/vsFusionIOrandread.png" alt="" title="vsFusionIOrandread" width="657" height="381" class="aligncenter size-full wp-image-2974" /></a></p>
<p>As you see in 1 and 4 threads FusionIO is better, while with more threads Virident card scales better</p>
<p>And now random writes:</p>
<p><a href="http://www.mysqlperformanceblog.com/wp-content/uploads/2010/06/vsFusionIO.png"><img src="http://www.mysqlperformanceblog.com/wp-content/uploads/2010/06/vsFusionIO.png" alt="" title="vsFusionIO" width="657" height="381" class="aligncenter size-full wp-image-2973" /></a></p>
<p>You can see that FusionIO definitely needs space reservation to provide high write bandwidth, and it comes with<br />
cost hit ( 25% space reservation -> 25% increase $/GB).</p>
<p>In conclusion I can highlight:</p>
<ul>
<li>  I am impressed with architecture design with replaceable individual flash modules, I think it establishes new high-end standard for flash devices
</li>
<li>  With  single card you can get over <strong>1GB/sec</strong> bandwidth in random reads (16-64 working threads), and it is the maximal results what I&#8217;ve seen so far ( again for single card)
</li>
<li>  Random write bandwidth exceeds <strong>400MB/sec</strong> (8-16 working threads)
</li>
<li>  Random read/write mix results are also impressive, and it can be quite important in workloads like FlashCache, where card have both concurrent read and write pressure
</li>
<li>  Quite stable sequential writes performance (important in question for log related activity in MySQL)
</li>
</ul>
<p>I am looking forward to present results in sysbench oltp, tpcc workload, and also in FlashCahce mode.</p>
    <hr noshade style="margin:0;height:1px" />
    <p>Entry posted by Vadim |
      <a href="http://www.mysqlperformanceblog.com/2010/06/15/virident-tachion-new-player-on-flash-pci-e-cards-market/#comments">No comment</a></p>
    <p>Add to: <a href="http://del.icio.us/post?url=http://www.mysqlperformanceblog.com/2010/06/15/virident-tachion-new-player-on-flash-pci-e-cards-market/&amp;title=Virident%20tachIOn:%20New%20player%20on%20Flash%20PCI-E%20cards%20market" title="Bookmark this post on del.icio.us"><img src="http://www.mysqlperformanceblog.com/wp-content/themes/boxy-but-gold/images/delicious.png" alt="delicious" /></a> | <a href="http://digg.com/submit?phase=2&amp;url=http://www.mysqlperformanceblog.com/2010/06/15/virident-tachion-new-player-on-flash-pci-e-cards-market/&amp;title=Virident%20tachIOn:%20New%20player%20on%20Flash%20PCI-E%20cards%20market" title="Digg this post on Digg.com"><img src="http://www.mysqlperformanceblog.com/wp-content/themes/boxy-but-gold/images/digg.png" alt="digg" /></a> | <a href="http://reddit.com/submit?url=http://www.mysqlperformanceblog.com/2010/06/15/virident-tachion-new-player-on-flash-pci-e-cards-market/&amp;title=Virident%20tachIOn:%20New%20player%20on%20Flash%20PCI-E%20cards%20market" title="Submit this post on reddit.com"><img src="http://www.mysqlperformanceblog.com/wp-content/themes/boxy-but-gold/images/reddit.png" alt="reddit" /></a> | <a href="http://www.netscape.com/submit/?U=http://www.mysqlperformanceblog.com/2010/06/15/virident-tachion-new-player-on-flash-pci-e-cards-market/&amp;T=Virident%20tachIOn:%20New%20player%20on%20Flash%20PCI-E%20cards%20market" title="Vote for this article on Netscape"><img src="http://www.mysqlperformanceblog.com/wp-content/themes/boxy-but-gold/images/netscape.gif" alt="netscape" /></a> | <a href="http://www.google.com/bookmarks/mark?op=add&amp;bkmk=http://www.mysqlperformanceblog.com/2010/06/15/virident-tachion-new-player-on-flash-pci-e-cards-market/&amp;title=Virident%20tachIOn:%20New%20player%20on%20Flash%20PCI-E%20cards%20market" title="Add to Google Bookmarks"><img src="http://www.mysqlperformanceblog.com/wp-content/themes/boxy-but-gold/images/google.png" alt="Google Bookmarks" /></a></p><br/>PlanetMySQL Voting:
	 <a href="http://planet.mysql.com/entry/vote/?entry_id=25029&vote=1&apivote=1">Vote UP</a> /
	 <a href="http://planet.mysql.com/entry/vote/?entry_id=25029&vote=-1&apivote=1">Vote DOWN</a>]]></content:encoded>
			<wfw:commentRss>http://planetmysql.ru/2010/06/15/virident-tachion-new-player-on-flash-pci-e-cards-market/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FlashCache: tpcc workload with FusionIO card as cache</title>
		<link>http://www.mysqlperformanceblog.com/2010/06/02/flashcache-tpcc-workload-with-fusionio-card-as-cache/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=flashcache-tpcc-workload-with-fusionio-card-as-cache</link>
		<comments>http://www.mysqlperformanceblog.com/2010/06/02/flashcache-tpcc-workload-with-fusionio-card-as-cache/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 02:03:03 +0000</pubDate>
		<dc:creator>MySQL Performance Blog</dc:creator>
				<category><![CDATA[benchmarks]]></category>
		<category><![CDATA[FusionIO]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[ssd]]></category>

		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=2941</guid>
		<description><![CDATA[This run is very similar what I had on Intel SSD X25-M card, but now I use FusionIO 80GB SLC card. I chose this card as smallest available card (and therefore cheapest. On Dell.com you can see it for about $3K).  There is also FusionIO IO-Xtreme 80GB card, which is however MLC based and it could be not best choice for FlashCache usage ( as there high write rate on FlashCache for both reading and writing to/from disks, so lifetime could be short).
Also Facebook team released WriteThrough module for FlashCache, which could be good trade-off if you want extra warranty for data consistency and your load is mostly read-bound, so I tested this mode also.
All setup is similar to previous post, so let me just post the results with FlashCache on FusionIO in 20% dirty page, 80% dirty pages and write-through modes. I used full 80GB for caching ( total size of data is about 100GB).

Conclusions from the graph: 

with 80% dirty page we have about 4x better throughput ( comparing to RAID).

Write-through mode is about 2x gain, but remember that load is very write intensive and all benefits in write-through mode come only from cached reads, so it is pretty good for this scenario

On this post I finish my runs on FlashCache for now and I think it may be considered for real usage, at least you may evaluate how it works on your workloads.
    
    Entry posted by Vadim &#124;
      No comment
    Add to:  &#124;  &#124;  &#124;  &#124; ]]></description>
			<content:encoded><![CDATA[<p>This run is very similar what I had on <a href="http://www.mysqlperformanceblog.com/2010/05/25/flashcache-tpcc-workload/">Intel SSD X25-M card</a>, but now I use FusionIO 80GB SLC card. I chose this card as smallest available card (and therefore cheapest. On Dell.com you can see it <a href="http://accessories.us.dell.com/sna/products/Networking_Enterprise_Class/productdetail.aspx?c=us&amp;l=en&amp;cs=04&amp;sku=A3726783">for about $3K</a>).  There is also FusionIO IO-Xtreme 80GB card, which is however MLC based and it could be not best choice for FlashCache usage ( as there high write rate on FlashCache for both reading and writing to/from disks, so lifetime could be short).</p>
<p>Also Facebook team released <strong>WriteThrough</strong> module for FlashCache, which could be good trade-off if you want extra warranty for data consistency and your load is mostly read-bound, so I tested this mode also.</p>
<p>All setup is similar to <a href="http://www.mysqlperformanceblog.com/2010/05/25/flashcache-tpcc-workload/">previous post</a>, so let me just post the results with FlashCache on FusionIO in 20% dirty page, 80% dirty pages and write-through modes. I used full 80GB for caching ( total size of data is about 100GB).</p>
<p><a href="http://www.mysqlperformanceblog.com/wp-content/uploads/2010/06/tpccfusionio.png"><img src="http://www.mysqlperformanceblog.com/wp-content/uploads/2010/06/tpccfusionio.png" alt="" title="tpccfusionio" width="782" height="409" class="aligncenter size-full wp-image-2945" /></a></p>
<p>Conclusions from the graph: </p>
<ul>
<li>with 80% dirty page we have about <strong>4x better</strong> throughput ( comparing to RAID).
</li>
<li>Write-through mode is about 2x gain, but remember that load is very write intensive and all benefits in write-through mode come only from cached reads, so it is pretty good for this scenario</li>
</ul>
<p>On this post I finish my runs on FlashCache for now and I think it may be considered for real usage, at least you may evaluate how it works on your workloads.</p>
    <hr noshade style="margin:0;height:1px" />
    <p>Entry posted by Vadim |
      <a href="http://www.mysqlperformanceblog.com/2010/06/02/flashcache-tpcc-workload-with-fusionio-card-as-cache/#comments">No comment</a></p>
    <p>Add to: <a href="http://del.icio.us/post?url=http://www.mysqlperformanceblog.com/2010/06/02/flashcache-tpcc-workload-with-fusionio-card-as-cache/&amp;title=FlashCache:%20tpcc%20workload%20with%20FusionIO%20card%20as%20cache" title="Bookmark this post on del.icio.us"><img src="http://www.mysqlperformanceblog.com/wp-content/themes/boxy-but-gold/images/delicious.png" alt="delicious" /></a> | <a href="http://digg.com/submit?phase=2&amp;url=http://www.mysqlperformanceblog.com/2010/06/02/flashcache-tpcc-workload-with-fusionio-card-as-cache/&amp;title=FlashCache:%20tpcc%20workload%20with%20FusionIO%20card%20as%20cache" title="Digg this post on Digg.com"><img src="http://www.mysqlperformanceblog.com/wp-content/themes/boxy-but-gold/images/digg.png" alt="digg" /></a> | <a href="http://reddit.com/submit?url=http://www.mysqlperformanceblog.com/2010/06/02/flashcache-tpcc-workload-with-fusionio-card-as-cache/&amp;title=FlashCache:%20tpcc%20workload%20with%20FusionIO%20card%20as%20cache" title="Submit this post on reddit.com"><img src="http://www.mysqlperformanceblog.com/wp-content/themes/boxy-but-gold/images/reddit.png" alt="reddit" /></a> | <a href="http://www.netscape.com/submit/?U=http://www.mysqlperformanceblog.com/2010/06/02/flashcache-tpcc-workload-with-fusionio-card-as-cache/&amp;T=FlashCache:%20tpcc%20workload%20with%20FusionIO%20card%20as%20cache" title="Vote for this article on Netscape"><img src="http://www.mysqlperformanceblog.com/wp-content/themes/boxy-but-gold/images/netscape.gif" alt="netscape" /></a> | <a href="http://www.google.com/bookmarks/mark?op=add&amp;bkmk=http://www.mysqlperformanceblog.com/2010/06/02/flashcache-tpcc-workload-with-fusionio-card-as-cache/&amp;title=FlashCache:%20tpcc%20workload%20with%20FusionIO%20card%20as%20cache" title="Add to Google Bookmarks"><img src="http://www.mysqlperformanceblog.com/wp-content/themes/boxy-but-gold/images/google.png" alt="Google Bookmarks" /></a></p><br/>PlanetMySQL Voting:
	 <a href="http://planet.mysql.com/entry/vote/?entry_id=24934&vote=1&apivote=1">Vote UP</a> /
	 <a href="http://planet.mysql.com/entry/vote/?entry_id=24934&vote=-1&apivote=1">Vote DOWN</a>]]></content:encoded>
			<wfw:commentRss>http://planetmysql.ru/2010/06/03/flashcache-tpcc-workload-with-fusionio-card-as-cache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL 5.5.4 in tpcc-like workload</title>
		<link>http://www.mysqlperformanceblog.com/2010/04/21/mysql-5-5-4-in-tpcc-like-workload/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mysql-5-5-4-in-tpcc-like-workload</link>
		<comments>http://www.mysqlperformanceblog.com/2010/04/21/mysql-5-5-4-in-tpcc-like-workload/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 20:12:45 +0000</pubDate>
		<dc:creator>MySQL Performance Blog</dc:creator>
				<category><![CDATA[benchmarks]]></category>
		<category><![CDATA[FusionIO]]></category>
		<category><![CDATA[InnoDB]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[xtradb]]></category>

		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=2510</guid>
		<description><![CDATA[MySQL-5.5.4 &#174; is the great release with performance improvements, let&#8217;s see how it performs in
tpcc-like workload.
The full details are on Wiki page
http://www.percona.com/docs/wiki/benchmark:mysql:554-tpcc:start

I took MySQL-5.5.4 with InnoDB-1.1, tpcc-mysql benchmark with 200W ( about 18GB worth of data),
InnoDB log files are 3.8GB size,  and run with different buffer pools from 20GB to 6GB. The storage is FusionIO 320GB MLC card with XFS-nobarrier. .
While the raw results are available on Wiki, there are graphical results.
I intentionally put all line on the same graph to show trends.

It seems adaptive_flushing is not able to keep up and you see periodical drops when InnoDB starts flushing. I hope InnoDB team will fix it before 5.5 GA.
I expect reasonable request how it can be compared with Percona Server/XtraDB, so there is
the same load on our server:

As you see our adaptive_checkpoint algorithm is performing much stable.
And to put direct comparison, there is side-to-side results for 10GB buffer_pool case.

So as you see InnoDB is doing great, trying to keep performance even, as in previous release, there was about 1.7x times difference. I expect to see more improvements in 5.5-GA.
    
    Entry posted by Vadim &#124;
      No comment
    Add to:  &#124;  &#124;  &#124;  &#124; ]]></description>
			<content:encoded><![CDATA[<p>MySQL-5.5.4 &reg; is the great release with performance improvements, let&#8217;s see how it performs in<br />
tpcc-like workload.</p>
<p>The full details are on Wiki page<br />
<a href="http://www.percona.com/docs/wiki/benchmark%3Amysql%3A554-tpcc%3Astart">http://www.percona.com/docs/wiki/benchmark:mysql:554-tpcc:start<br />
</a></p>
<p>I took MySQL-5.5.4 with InnoDB-1.1, tpcc-mysql benchmark with 200W ( about 18GB worth of data),<br />
InnoDB log files are 3.8GB size,  and run with different buffer pools from 20GB to 6GB. The storage is FusionIO 320GB MLC card with XFS-nobarrier. .</p>
<p>While the raw results are available on <a href="http://www.percona.com/docs/wiki/benchmark%3Amysql%3A554-tpcc%3Astart">Wiki</a>, there are graphical results.</p>
<p>I intentionally put all line on the same graph to show trends.</p>
<p><a href="http://www.mysqlperformanceblog.com/wp-content/uploads/2010/04/5.5.4-bp-vary.png"><img src="http://www.mysqlperformanceblog.com/wp-content/uploads/2010/04/5.5.4-bp-vary.png" alt="" title="5.5.4-bp-vary" width="751" height="453" class="aligncenter size-full wp-image-2512" /></a></p>
<p>It seems <strong>adaptive_flushing</strong> is not able to keep up and you see periodical drops when InnoDB starts flushing. I hope InnoDB team will fix it before 5.5 GA.</p>
<p>I expect reasonable request how it can be compared with Percona Server/XtraDB, so there is<br />
the same load on our server:</p>
<p><a href="http://www.mysqlperformanceblog.com/wp-content/uploads/2010/04/percona-server-bp-vary.png"><img src="http://www.mysqlperformanceblog.com/wp-content/uploads/2010/04/percona-server-bp-vary.png" alt="" title="percona-server-bp-vary" width="751" height="447" class="aligncenter size-full wp-image-2513" /></a></p>
<p>As you see our adaptive_checkpoint algorithm is performing much stable.</p>
<p>And to put direct comparison, there is side-to-side results for 10GB buffer_pool case.</p>
<p><a href="http://www.mysqlperformanceblog.com/wp-content/uploads/2010/04/percona-vs-mysql.png"><img src="http://www.mysqlperformanceblog.com/wp-content/uploads/2010/04/percona-vs-mysql.png" alt="" title="percona-vs-mysql" width="751" height="447" class="aligncenter size-full wp-image-2514" /></a></p>
<p>So as you see InnoDB is doing great, trying to keep performance even, as in previous release, there was about <a href="http://www.mysqlperformanceblog.com/2010/01/13/innodb-innodb-plugin-vs-xtradb-on-fast-storage/">1.7x times difference</a>. I expect to see more improvements in 5.5-GA.</p>
    <hr noshade style="margin:0;height:1px" />
    <p>Entry posted by Vadim |
      <a href="http://www.mysqlperformanceblog.com/2010/04/21/mysql-5-5-4-in-tpcc-like-workload/#comments">No comment</a></p>
    <p>Add to: <a href="http://del.icio.us/post?url=http://www.mysqlperformanceblog.com/2010/04/21/mysql-5-5-4-in-tpcc-like-workload/&amp;title=MySQL%205.5.4%20in%20tpcc-like%20workload" title="Bookmark this post on del.icio.us"><img src="http://www.mysqlperformanceblog.com/wp-content/themes/boxy-but-gold/images/delicious.png" alt="delicious" /></a> | <a href="http://digg.com/submit?phase=2&amp;url=http://www.mysqlperformanceblog.com/2010/04/21/mysql-5-5-4-in-tpcc-like-workload/&amp;title=MySQL%205.5.4%20in%20tpcc-like%20workload" title="Digg this post on Digg.com"><img src="http://www.mysqlperformanceblog.com/wp-content/themes/boxy-but-gold/images/digg.png" alt="digg" /></a> | <a href="http://reddit.com/submit?url=http://www.mysqlperformanceblog.com/2010/04/21/mysql-5-5-4-in-tpcc-like-workload/&amp;title=MySQL%205.5.4%20in%20tpcc-like%20workload" title="Submit this post on reddit.com"><img src="http://www.mysqlperformanceblog.com/wp-content/themes/boxy-but-gold/images/reddit.png" alt="reddit" /></a> | <a href="http://www.netscape.com/submit/?U=http://www.mysqlperformanceblog.com/2010/04/21/mysql-5-5-4-in-tpcc-like-workload/&amp;T=MySQL%205.5.4%20in%20tpcc-like%20workload" title="Vote for this article on Netscape"><img src="http://www.mysqlperformanceblog.com/wp-content/themes/boxy-but-gold/images/netscape.gif" alt="netscape" /></a> | <a href="http://www.google.com/bookmarks/mark?op=add&amp;bkmk=http://www.mysqlperformanceblog.com/2010/04/21/mysql-5-5-4-in-tpcc-like-workload/&amp;title=MySQL%205.5.4%20in%20tpcc-like%20workload" title="Add to Google Bookmarks"><img src="http://www.mysqlperformanceblog.com/wp-content/themes/boxy-but-gold/images/google.png" alt="Google Bookmarks" /></a></p><br/>PlanetMySQL Voting:
	 <a href="http://planet.mysql.com/entry/vote/?entry_id=24457&vote=1&apivote=1">Vote UP</a> /
	 <a href="http://planet.mysql.com/entry/vote/?entry_id=24457&vote=-1&apivote=1">Vote DOWN</a>]]></content:encoded>
			<wfw:commentRss>http://planetmysql.ru/2010/04/22/mysql-5-5-4-in-tpcc-like-workload/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The innodb_plugin – a pleasant surprise!</title>
		<link>http://blog.wl0.org/2010/03/the-innodb_plugin-a-pleasant-surprise/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-innodb_plugin-%25e2%2580%2593-a-pleasant-surprise</link>
		<comments>http://blog.wl0.org/2010/03/the-innodb_plugin-a-pleasant-surprise/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 22:33:33 +0000</pubDate>
		<dc:creator>Simon Mudd</dc:creator>
				<category><![CDATA[1.0.6]]></category>
		<category><![CDATA[5.1.44]]></category>
		<category><![CDATA[Databases]]></category>
		<category><![CDATA[FusionIO]]></category>
		<category><![CDATA[InnoDB]]></category>
		<category><![CDATA[innodb_plugin]]></category>
		<category><![CDATA[merlin]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://blog.wl0.org/2010/03/the-innodb_plugin-a-pleasant-surprise/</guid>
		<description><![CDATA[I&#8217;ve heard about the innodb_plugin but not had time to put it to the test.
Recently though due to some problems I&#8217;ve been having with the MySQL Enterprise Monitor (Merlin) I&#8217;ve had to try a few changes and had the opportunity to try out the innodb plugin.
I have been using Merlin for some time and like it a lot. It is not perfect but does a good job for me.  However, since upgrading to version 2.1 I have been having some database load problems. I long ago split the merlin server into a front- and back-end server with the backend running a standard MySQL 5.1 Advanced package. That has been working fine.
I have been monitoring more and more mysqld servers and recently the database backend could not cope. Basically the writes of data collected from the agents and the deletes of old date (purging) caused too much I/O and that is on a box with 6 disks in RAID-10 with a battery backed write-cache.
So I upgraded the db server to a new box with lots of memory and a 300 GB Fusion IO card. I expected all problems to go away. Well not quite. In spite of the solid state drive which was not I/O bound, and the CPU which was not CPU bound, mysqld could not keep up with the load. This was running the MySQL 5.1.44 Advanced rpm. Looking more deeply it seems that mysqld itself was the bottleneck and there was too much contention on the PK by the different INSERTing and DELETing threads.
The Merlin team suggested trying the innodb_plugin (1.0.6) and all of a sudden the bottleneck seems to have gone away.
This is the iostat output taken before switching to the innodb plugin:
Device:    rrqm/s wrqm/s   r/s     w/s  rsec/s  wsec/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
fioa         0.00   0.00  4.21 4049.50   33.67 32337.07    16.83 16168.54     7.99   192.42    6.31   0.25 100.22
fioa         0.00   0.00  9.78 4379.44  153.29 34942.12    76.65 17471.06     8.00     0.00    6.17   0.00   0.00
fioa         0.00   0.00 20.80 4455.40  408.00 35552.60   204.00 17776.30     8.03     0.00    5.96   0.00   0.00
fioa         0.00   0.00 21.80 4685.00  267.20 37391.20   133.60 18695.60     8.00    24.00    5.87   0.21 100.02
fioa         0.00   0.00 23.60 5200.40  320.00 41490.40   160.00 20745.20     8.00     0.00    6.04   0.00   0.00
fioa         0.00   0.00 15.17 5020.36  202.79 40055.09   101.40 20027.54     7.99     0.00    5.65   0.00   0.00
This is the iostat output taken after switching to the innodb plugin:
Device:    rrqm/s wrqm/s   r/s     w/s  rsec/s   wsec/s   avgrq-sz avgqu-sz   await  svctm  %util
fioa         0.00   0.00  4.40 2344.80  160.00 201520.00     85.85     0.00    0.41   0.00   0.00
fioa         0.00   0.00  2.00 2188.20   64.00 193500.80     88.38     0.00    0.41   0.00   0.00
fioa         0.00   0.00  1.80 2113.60   57.60 200889.20     94.99     0.00    0.44   0.00   0.00
fioa         0.00   0.00  0.40 1961.60   12.80 194291.20     99.03     0.00    0.43   0.00   0.00
fioa         0.00   0.00  0.00 2118.00    0.00 202496.40     95.61     0.00    0.47   0.00   0.00
fioa         0.00   0.00  0.00 2030.00    0.00 191482.40     94.33     0.00    0.46   0.00   0.00
fioa         0.00   0.00  0.00 2152.60    0.00 208485.20     96.85     0.00    0.44   0.00   0.00
fioa         0.00   0.00  0.00 1936.20    0.00 178732.40     92.31     0.00    0.42   0.00   0.00
fioa         0.00   0.00  4.79 1249.70  153.29 115475.45     92.17     0.00    0.40   0.00   0.00
Note: the first set of figures was taken using CentOS 4, and the second using CentOS 5.  The IO statistics aren&#8217;t exactly identical and on CentOS 5 for some reason the driver appears not to be providing all the stats. However the wsec/s value clearly shows a significant performance improvement and the original problem mysqld was having of not being able to purge as fast as it was inserting data seems to have been solved. At least initial signs seem to indicate this.  The only configuration change made to the server was the following:
ignore_builtin_innodb
plugin-load=innodb=ha_innodb_plugin.so;innodb_trx=ha_innodb_plugin.so;innodb_locks=ha_innodb_plugin.so;innodb_lock_waits=ha_innodb_plugin.so;innodb_cmp=ha_innodb_plugin.so;innodb_cmp_reset=ha_innodb_plugin.so;innodb_cmpmem=ha_innodb_plugin.so;innodb_cmpmem_reset=ha_innodb_plugin.so

innodb_adaptive_flushing = 1
innodb_io_capacity = 1000
Conclusion, if you are having performance problems on your MySQL server and perhaps the hardware is not the bottleneck then try using the plugin. It may make a big difference.
Also a big thanks to the Merlin team for helping me out with this problem and getting things up and running.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve heard about the <a title="innodb plugin" href="http://www.innodb.com/products/innodb_plugin/" >innodb_plugin</a> but not had time to put it to the test.</p>
<p>Recently though due to some problems I&#8217;ve been having with the <a title="MySQL Enterprise Monitor" href="http://www.mysql.com/products/enterprise/monitor.html" >MySQL Enterprise Monitor</a> (Merlin) I&#8217;ve had to try a few changes and had the opportunity to try out the innodb plugin.</p>
<p>I have been using Merlin for some time and like it a lot. It is not perfect but does a good job for me.  However, since upgrading to version 2.1 I have been having some database load problems. I long ago split the <em>merlin server</em> into a <em>front-</em> and <em>back-end</em> server with the backend running a standard MySQL 5.1 Advanced package. That has been working fine.</p>
<p>I have been monitoring more and more mysqld servers and recently the database backend could not cope. Basically the writes of data collected from the agents and the deletes of old date (<em>purging</em>) caused too much I/O and that is on a box with 6 disks in RAID-10 with a battery backed write-cache.</p>
<p>So I upgraded the db server to a new box with lots of memory and a <a title="HP StorageWorks 320GB IO Accelerator" href="http://h71016.www7.hp.com/dstore/ctoBases.asp?oi=E9CED&amp;BEID=19701&amp;SBLID=&amp;ProductLineId=450&amp;FamilyId=2979&amp;LowBaseId=27328&amp;LowPrice=$65.00" >300 GB Fusion IO card</a>. I expected all problems to go away. Well not quite. In spite of the solid state drive which was not I/O bound, and the CPU which was not CPU bound, mysqld could not keep up with the load. This was running the MySQL 5.1.44 Advanced rpm. Looking more deeply it seems that mysqld itself was the bottleneck and there was too much contention on the PK by the different INSERTing and DELETing threads.</p>
<p>The Merlin team suggested trying the innodb_plugin (1.0.6) and all of a sudden the bottleneck seems to have gone away.</p>
<p>This is the iostat output taken before switching to the innodb plugin:</p>
<pre>Device:    rrqm/s wrqm/s   r/s     w/s  rsec/s  wsec/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
fioa         0.00   0.00  4.21 4049.50   33.67 32337.07    16.83 16168.54     7.99   192.42    6.31   0.25 100.22
fioa         0.00   0.00  9.78 4379.44  153.29 34942.12    76.65 17471.06     8.00     0.00    6.17   0.00   0.00
fioa         0.00   0.00 20.80 4455.40  408.00 35552.60   204.00 17776.30     8.03     0.00    5.96   0.00   0.00
fioa         0.00   0.00 21.80 4685.00  267.20 37391.20   133.60 18695.60     8.00    24.00    5.87   0.21 100.02
fioa         0.00   0.00 23.60 5200.40  320.00 41490.40   160.00 20745.20     8.00     0.00    6.04   0.00   0.00
fioa         0.00   0.00 15.17 5020.36  202.79 40055.09   101.40 20027.54     7.99     0.00    5.65   0.00   0.00</pre>
<p>This is the iostat output taken after switching to the innodb plugin:</p>
<pre>Device:    rrqm/s wrqm/s   r/s     w/s  rsec/s   wsec/s   avgrq-sz avgqu-sz   await  svctm  %util
fioa         0.00   0.00  4.40 2344.80  160.00 201520.00     85.85     0.00    0.41   0.00   0.00
fioa         0.00   0.00  2.00 2188.20   64.00 193500.80     88.38     0.00    0.41   0.00   0.00
fioa         0.00   0.00  1.80 2113.60   57.60 200889.20     94.99     0.00    0.44   0.00   0.00
fioa         0.00   0.00  0.40 1961.60   12.80 194291.20     99.03     0.00    0.43   0.00   0.00
fioa         0.00   0.00  0.00 2118.00    0.00 202496.40     95.61     0.00    0.47   0.00   0.00
fioa         0.00   0.00  0.00 2030.00    0.00 191482.40     94.33     0.00    0.46   0.00   0.00
fioa         0.00   0.00  0.00 2152.60    0.00 208485.20     96.85     0.00    0.44   0.00   0.00
fioa         0.00   0.00  0.00 1936.20    0.00 178732.40     92.31     0.00    0.42   0.00   0.00
fioa         0.00   0.00  4.79 1249.70  153.29 115475.45     92.17     0.00    0.40   0.00   0.00</pre>
<p>Note: the first set of figures was taken using CentOS 4, and the second using CentOS 5.  The IO statistics aren&#8217;t exactly identical and on CentOS 5 for some reason the driver appears not to be providing all the stats. However the wsec/s value clearly shows a significant performance improvement and the original problem mysqld was having of not being able to purge as fast as it was inserting data seems to have been solved. At least initial signs seem to indicate this.  The only configuration change made to the server was the following:</p>
<pre>ignore_builtin_innodb
plugin-load=innodb=ha_innodb_plugin.so;innodb_trx=ha_innodb_plugin.so;innodb_locks=ha_innodb_plugin.so;innodb_lock_waits=ha_innodb_plugin.so;innodb_cmp=ha_innodb_plugin.so;innodb_cmp_reset=ha_innodb_plugin.so;innodb_cmpmem=ha_innodb_plugin.so;innodb_cmpmem_reset=ha_innodb_plugin.so

innodb_adaptive_flushing = 1
innodb_io_capacity = 1000</pre>
<p>Conclusion, if you are having performance problems on your MySQL server and perhaps the hardware is not the bottleneck then try using the plugin. It <em>may</em> make a big difference.</p>
<p>Also a big thanks to the Merlin team for helping me out with this problem and getting things up and running.</p><br/>PlanetMySQL Voting:
	 <a href="http://planet.mysql.com/entry/vote/?entry_id=23738&vote=1&apivote=1">Vote UP</a> /
	 <a href="http://planet.mysql.com/entry/vote/?entry_id=23738&vote=-1&apivote=1">Vote DOWN</a>]]></content:encoded>
			<wfw:commentRss>http://planetmysql.ru/2010/03/04/the-innodb_plugin-%e2%80%93-a-pleasant-surprise/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

