<?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: Improving MetaData Performance of the Ext4 Journaling Device</title>
	<atom:link href="http://www.linux-mag.com/id/7642/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.linux-mag.com/id/7642/</link>
	<description>Open Source, Open Standards</description>
	<lastBuildDate>Sat, 05 Oct 2013 13:48:18 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
	<item>
		<title>By: Yolanda</title>
		<link>http://www.linux-mag.com/id/7642/#comment-864733</link>
		<dc:creator>Yolanda</dc:creator>
		<pubDate>Thu, 11 Apr 2013 21:06:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.linux-mag.com/id/7642/#comment-864733</guid>
		<description>If you wish for to get much from this article then you have to apply such 
strategies to your won webpage.</description>
		<content:encoded><![CDATA[<p>If you wish for to get much from this article then you have to apply such<br />
strategies to your won webpage.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: petchan</title>
		<link>http://www.linux-mag.com/id/7642/#comment-429267</link>
		<dc:creator>petchan</dc:creator>
		<pubDate>Wed, 26 Sep 2012 09:11:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.linux-mag.com/id/7642/#comment-429267</guid>
		<description>The 2 disk based journal size were 32768 X 4k blocks. It should be 128M while the ramdisk is 16M.</description>
		<content:encoded><![CDATA[<p>The 2 disk based journal size were 32768 X 4k blocks. It should be 128M while the ramdisk is 16M.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Colin McKinnon</title>
		<link>http://www.linux-mag.com/id/7642/#comment-142101</link>
		<dc:creator>Colin McKinnon</dc:creator>
		<pubDate>Mon, 06 Feb 2012 15:30:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.linux-mag.com/id/7642/#comment-142101</guid>
		<description>Given what I know of journalling filesystems, the issues of battery backed write caches and the ridiculous cost of battery-backed RAM, I was very interested in this article. 

However like mark_w I find it amazing that there is not a clear perfromance benefit using ramfs. However I also note that there is no single mention of barriers (and particularly whether they were enabled or disabled in mount) in the whole article!</description>
		<content:encoded><![CDATA[<p>Given what I know of journalling filesystems, the issues of battery backed write caches and the ridiculous cost of battery-backed RAM, I was very interested in this article. </p>
<p>However like mark_w I find it amazing that there is not a clear perfromance benefit using ramfs. However I also note that there is no single mention of barriers (and particularly whether they were enabled or disabled in mount) in the whole article!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mark_w</title>
		<link>http://www.linux-mag.com/id/7642/#comment-7594</link>
		<dc:creator>mark_w</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.linux-mag.com/id/7642/#comment-7594</guid>
		<description>&lt;p&gt;This is interesting and, in some ways, surprising.&lt;/p&gt;
&lt;p&gt;I would have expected the Ramdisk journal to always be faster, or, at the very least, as fast, and this is not always the case, as, on some workloads, it is substantially slower. &lt;/p&gt;
&lt;p&gt;The one question that did occur to me was that it was possible that the metadata would all fit into cache on the second hard drive. This might increase performance of the \&#039;metadata on a separate hard drive\&#039; solution more than anticipated, but it still wouldn\&#039;t explain why the ramdisk solution was worse.&lt;/p&gt;
&lt;p&gt;I was wondering which IO scheduler you had used. Going out of your way to provide elevator seeks wouldn\&#039;t help a ramdisk and NOOP would probably be a better strategy for the ramdisk. As far as I know, though, you can only set one scheduler on the system (as opposed to one scheduler per device) so you might lose overall by setting noop for the system.&lt;/p&gt;
&lt;p&gt;In these days in which an SSD is also a plausible choice, and can be used to good effect in, eg, ZFS in enhancing overall array performance, I wonder whether this is optimal, although it probably only matters in odd corner cases.
&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>This is interesting and, in some ways, surprising.</p>
<p>I would have expected the Ramdisk journal to always be faster, or, at the very least, as fast, and this is not always the case, as, on some workloads, it is substantially slower. </p>
<p>The one question that did occur to me was that it was possible that the metadata would all fit into cache on the second hard drive. This might increase performance of the \&#8217;metadata on a separate hard drive\&#8217; solution more than anticipated, but it still wouldn\&#8217;t explain why the ramdisk solution was worse.</p>
<p>I was wondering which IO scheduler you had used. Going out of your way to provide elevator seeks wouldn\&#8217;t help a ramdisk and NOOP would probably be a better strategy for the ramdisk. As far as I know, though, you can only set one scheduler on the system (as opposed to one scheduler per device) so you might lose overall by setting noop for the system.</p>
<p>In these days in which an SSD is also a plausible choice, and can be used to good effect in, eg, ZFS in enhancing overall array performance, I wonder whether this is optimal, although it probably only matters in odd corner cases.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: timsmall</title>
		<link>http://www.linux-mag.com/id/7642/#comment-7595</link>
		<dc:creator>timsmall</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.linux-mag.com/id/7642/#comment-7595</guid>
		<description>&lt;p&gt;Can someone please start making cheap pci-e battery-backed ram disks, so that we can finally throw all those flakey proprietary hardware RAID cards in the bin, and just use software RAID?&lt;/p&gt;
&lt;p&gt;Chicken and egg.
&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Can someone please start making cheap pci-e battery-backed ram disks, so that we can finally throw all those flakey proprietary hardware RAID cards in the bin, and just use software RAID?</p>
<p>Chicken and egg.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: laytonjb</title>
		<link>http://www.linux-mag.com/id/7642/#comment-7596</link>
		<dc:creator>laytonjb</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.linux-mag.com/id/7642/#comment-7596</guid>
		<description>&lt;p&gt;@mark_w:  I\&#039;m surprised as well. I\&#039;m still trying to determine where the performance difference is coming from. Granted the differences are somewhat small, they are still noticeable.&lt;/p&gt;
&lt;p&gt;BTW - you can change the IO scheduler on a per mount basis. If you look back at some of the IO scheduler articles you will see how to do it.&lt;/p&gt;
&lt;p&gt;@timsmall:  Amen! The only option I know of is the ACARD-9010 (http://www.acard.com/english/fb01-product.jsp?prod_no=ANS-9010&amp;type1_title=%20Solid%20State%20Drive&amp;idno_no=270). It\&#039;s a little below $400 without the memory or flash card. It\&#039;s not a bad solution but it\&#039;s limited by the SATA connection (I\&#039;m hoping they come out with a 6Gbps SAS or SATA connection - even better would be a PCIe connection!)
&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>@mark_w:  I\&#8217;m surprised as well. I\&#8217;m still trying to determine where the performance difference is coming from. Granted the differences are somewhat small, they are still noticeable.</p>
<p>BTW &#8211; you can change the IO scheduler on a per mount basis. If you look back at some of the IO scheduler articles you will see how to do it.</p>
<p>@timsmall:  Amen! The only option I know of is the ACARD-9010 (<a href="http://www.acard.com/english/fb01-product.jsp?prod_no=ANS-9010&#038;type1_title=%20Solid%20State%20Drive&#038;idno_no=270" rel="nofollow">http://www.acard.com/english/fb01-product.jsp?prod_no=ANS-9010&#038;type1_title=%20Solid%20State%20Drive&#038;idno_no=270</a>). It\&#8217;s a little below $400 without the memory or flash card. It\&#8217;s not a bad solution but it\&#8217;s limited by the SATA connection (I\&#8217;m hoping they come out with a 6Gbps SAS or SATA connection &#8211; even better would be a PCIe connection!)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: dgc</title>
		<link>http://www.linux-mag.com/id/7642/#comment-7597</link>
		<dc:creator>dgc</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.linux-mag.com/id/7642/#comment-7597</guid>
		<description>&lt;p&gt;Jeff,&lt;/p&gt;
&lt;p&gt;I think the reason you are not seeing the external journal improve performance is that fdtree.bash is single threaded and CPU bound rather than being IO bound. An external journal only improves performance when the workload is IO bound.&lt;/p&gt;
&lt;p&gt;I ran fdtree.bash on XFS to see how it compared to your ext4 numbers, but I got the same numbers on XFS. That raised a red flag - ext4 should wipe the floor with XFS in these tests. Notably, though, my own test scripts that do very similar operations give an order of magnitude better performance on XFS than fdtree.bash.&lt;/p&gt;
&lt;p&gt;Just to check, I spent an hour and rewrote fdtree.bash in C and this version produces numbers that match my own test scripts. e.g. directory creates measuring about 5,000/s instead of 250/s that fdtree.bash was measuring....&lt;/p&gt;
&lt;p&gt;IOWs, it appears that the benchmark is the problem, not the filesystem you are testing or your methodology. This is one of the reasons I always monitor system performance (CPU, memory usage, etc) while benchmarks are running so that I can tell when performance is not what it should be... ;)&lt;/p&gt;
&lt;p&gt;Cheers,&lt;/p&gt;
&lt;p&gt;Dave.
&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Jeff,</p>
<p>I think the reason you are not seeing the external journal improve performance is that fdtree.bash is single threaded and CPU bound rather than being IO bound. An external journal only improves performance when the workload is IO bound.</p>
<p>I ran fdtree.bash on XFS to see how it compared to your ext4 numbers, but I got the same numbers on XFS. That raised a red flag &#8211; ext4 should wipe the floor with XFS in these tests. Notably, though, my own test scripts that do very similar operations give an order of magnitude better performance on XFS than fdtree.bash.</p>
<p>Just to check, I spent an hour and rewrote fdtree.bash in C and this version produces numbers that match my own test scripts. e.g. directory creates measuring about 5,000/s instead of 250/s that fdtree.bash was measuring&#8230;.</p>
<p>IOWs, it appears that the benchmark is the problem, not the filesystem you are testing or your methodology. This is one of the reasons I always monitor system performance (CPU, memory usage, etc) while benchmarks are running so that I can tell when performance is not what it should be&#8230; ;)</p>
<p>Cheers,</p>
<p>Dave.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: laytonjb</title>
		<link>http://www.linux-mag.com/id/7642/#comment-7598</link>
		<dc:creator>laytonjb</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.linux-mag.com/id/7642/#comment-7598</guid>
		<description>&lt;p&gt;@dgc,&lt;/p&gt;
&lt;p&gt;Wow! You did a great deal of work! I was looking at the benchmark a bit more and one thing I\&#039;ve noticed is that when I run it, all of the cores are busy. So if it\&#039;s single threaded I should only see a single core loaded. The script uses recursion so I\&#039;m wondering if bash spawns threads (or forks) when it does recursion. Any ideas?&lt;/p&gt;
&lt;p&gt;I\&#039;m looking for better metadata codes (I really like the word benchmark but that\&#039;s the concept). Do you have any recommendations? Metarates has been recommended to me - any experience with this one?&lt;/p&gt;
&lt;p&gt;BTW - I ran the same basic tests with a wider range of options for the journal partition (disk and ramdisk). I also ran IOZone for the same configurations. Look for an upcoming article series on the results I\&#039;m still post-processing the results).&lt;/p&gt;
&lt;p&gt;Dave - thanks again for your comments and insight. Greatly appreciated.&lt;/p&gt;
&lt;p&gt;Jeff
&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>@dgc,</p>
<p>Wow! You did a great deal of work! I was looking at the benchmark a bit more and one thing I\&#8217;ve noticed is that when I run it, all of the cores are busy. So if it\&#8217;s single threaded I should only see a single core loaded. The script uses recursion so I\&#8217;m wondering if bash spawns threads (or forks) when it does recursion. Any ideas?</p>
<p>I\&#8217;m looking for better metadata codes (I really like the word benchmark but that\&#8217;s the concept). Do you have any recommendations? Metarates has been recommended to me &#8211; any experience with this one?</p>
<p>BTW &#8211; I ran the same basic tests with a wider range of options for the journal partition (disk and ramdisk). I also ran IOZone for the same configurations. Look for an upcoming article series on the results I\&#8217;m still post-processing the results).</p>
<p>Dave &#8211; thanks again for your comments and insight. Greatly appreciated.</p>
<p>Jeff</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: craigecowen</title>
		<link>http://www.linux-mag.com/id/7642/#comment-7599</link>
		<dc:creator>craigecowen</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.linux-mag.com/id/7642/#comment-7599</guid>
		<description>&lt;p&gt;Why not use tmpfs to create a larger ramdisk?
&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Why not use tmpfs to create a larger ramdisk?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ssbrshei</title>
		<link>http://www.linux-mag.com/id/7642/#comment-7600</link>
		<dc:creator>ssbrshei</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.linux-mag.com/id/7642/#comment-7600</guid>
		<description>&lt;p&gt;Jeff,&lt;/p&gt;
&lt;p&gt;1) It\&#039;s not clear where you are benchmarking on a 32-bit or 64-bit kernel.  Could you please repeat on the one that\&#039;s missing?&lt;br /&gt;
1) If you created the partition sequentially, your journal partition, dev/sdb2, will reside on the inner tracks of the HD where it\&#039;s much less efficient.  If this is the case, can you rerun the benchmarks by moving the journal partition to the beginning of the HD?&lt;/p&gt;
&lt;p&gt;Thanks
&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Jeff,</p>
<p>1) It\&#8217;s not clear where you are benchmarking on a 32-bit or 64-bit kernel.  Could you please repeat on the one that\&#8217;s missing?<br />
1) If you created the partition sequentially, your journal partition, dev/sdb2, will reside on the inner tracks of the HD where it\&#8217;s much less efficient.  If this is the case, can you rerun the benchmarks by moving the journal partition to the beginning of the HD?</p>
<p>Thanks</p>
]]></content:encoded>
	</item>
</channel>
</rss>