<?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 delayed flushing can result in less work</title>
	<atom:link href="http://www.mysqlperformanceblog.com/2009/12/09/why-delayed-flushing-can-result-in-less-work/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mysqlperformanceblog.com/2009/12/09/why-delayed-flushing-can-result-in-less-work/</link>
	<description>Percona&#039;s MySQL &#38; InnoDB performance and scalability blog</description>
	<lastBuildDate>Sat, 11 Feb 2012 16:45:54 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Baron Schwartz</title>
		<link>http://www.mysqlperformanceblog.com/2009/12/09/why-delayed-flushing-can-result-in-less-work/comment-page-1/#comment-696188</link>
		<dc:creator>Baron Schwartz</dc:creator>
		<pubDate>Tue, 15 Dec 2009 02:21:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=1867#comment-696188</guid>
		<description>My understanding of the old behavior before adaptive_flushing was that it wouldn&#039;t flush fast enough, then would flush a ton to catch up.  Which is basically delaying writes, and depending on which pages were getting delayed, would reduce overall writing.  I am not sure I understand things correctly now.</description>
		<content:encoded><![CDATA[<p>My understanding of the old behavior before adaptive_flushing was that it wouldn&#8217;t flush fast enough, then would flush a ton to catch up.  Which is basically delaying writes, and depending on which pages were getting delayed, would reduce overall writing.  I am not sure I understand things correctly now.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: peter</title>
		<link>http://www.mysqlperformanceblog.com/2009/12/09/why-delayed-flushing-can-result-in-less-work/comment-page-1/#comment-696173</link>
		<dc:creator>peter</dc:creator>
		<pubDate>Tue, 15 Dec 2009 01:29:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=1867#comment-696173</guid>
		<description>Baron,

Right. Larger delay should cause less work to do.  In fact you can come up with cases when delaying writes 10 times will cause 10 less amount of writes being done.

With innodb_max_dirty_pages_pct the story is different - it is working as expected.  If you allow system to keep fewer pages dirty this means you can&#039;t delay writes for as much (some of dirty pages will be flushed because of LRU instead of delayed more).  With results for adaptive_flushing however I see very unexpected behavior.</description>
		<content:encoded><![CDATA[<p>Baron,</p>
<p>Right. Larger delay should cause less work to do.  In fact you can come up with cases when delaying writes 10 times will cause 10 less amount of writes being done.</p>
<p>With innodb_max_dirty_pages_pct the story is different &#8211; it is working as expected.  If you allow system to keep fewer pages dirty this means you can&#8217;t delay writes for as much (some of dirty pages will be flushed because of LRU instead of delayed more).  With results for adaptive_flushing however I see very unexpected behavior.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Baron Schwartz</title>
		<link>http://www.mysqlperformanceblog.com/2009/12/09/why-delayed-flushing-can-result-in-less-work/comment-page-1/#comment-694454</link>
		<dc:creator>Baron Schwartz</dc:creator>
		<pubDate>Fri, 11 Dec 2009 15:19:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=1867#comment-694454</guid>
		<description>Very possible.  However, my Big Point here is that delayed flushing can be less work.  If you take any old version of MySQL, say 5.0.45 with normal InnoDB, and set innodb_max_dirty_pages_pct down lower, you see the same thing: a lot more flushing happens.  (Maybe that&#039;s buggy too... but even if it were perfect, you&#039;d still see that happening.)</description>
		<content:encoded><![CDATA[<p>Very possible.  However, my Big Point here is that delayed flushing can be less work.  If you take any old version of MySQL, say 5.0.45 with normal InnoDB, and set innodb_max_dirty_pages_pct down lower, you see the same thing: a lot more flushing happens.  (Maybe that&#8217;s buggy too&#8230; but even if it were perfect, you&#8217;d still see that happening.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: peter</title>
		<link>http://www.mysqlperformanceblog.com/2009/12/09/why-delayed-flushing-can-result-in-less-work/comment-page-1/#comment-693926</link>
		<dc:creator>peter</dc:creator>
		<pubDate>Thu, 10 Dec 2009 22:05:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=1867#comment-693926</guid>
		<description>Baron,

I think there is actually a &quot;bug&quot; in the adaptive flushing in Innodb - it just does it too eagerly.  

I think if I specify log files of 2GB (with no other way to specify how long I&#039;d like to delay my writes)  Innodb should try to minimize amount of flushes it does using the provided 2GB of the log space.  It is not happening here - instead it flushes a lot - as we can see it does probably 3x more flushes than it could (disabled adaptive flushes does not cause any blips in this case)

There is indeed a good point about Pay Per IO storage as well as SSDs (which also &quot;cost&quot; you per IO as more writes you do the more quickly it will wear out)    may benefit from modified flush policy which does not try to utilize idle bandwidth as much  but rather use &quot;write combining&quot; to the maximum.</description>
		<content:encoded><![CDATA[<p>Baron,</p>
<p>I think there is actually a &#8220;bug&#8221; in the adaptive flushing in Innodb &#8211; it just does it too eagerly.  </p>
<p>I think if I specify log files of 2GB (with no other way to specify how long I&#8217;d like to delay my writes)  Innodb should try to minimize amount of flushes it does using the provided 2GB of the log space.  It is not happening here &#8211; instead it flushes a lot &#8211; as we can see it does probably 3x more flushes than it could (disabled adaptive flushes does not cause any blips in this case)</p>
<p>There is indeed a good point about Pay Per IO storage as well as SSDs (which also &#8220;cost&#8221; you per IO as more writes you do the more quickly it will wear out)    may benefit from modified flush policy which does not try to utilize idle bandwidth as much  but rather use &#8220;write combining&#8221; to the maximum.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Peters</title>
		<link>http://www.mysqlperformanceblog.com/2009/12/09/why-delayed-flushing-can-result-in-less-work/comment-page-1/#comment-693730</link>
		<dc:creator>Michael Peters</dc:creator>
		<pubDate>Thu, 10 Dec 2009 14:42:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=1867#comment-693730</guid>
		<description>It might also matter in the case where you pay for your IOOPs. Which would be true with something like an attached Amazon EBS storage.</description>
		<content:encoded><![CDATA[<p>It might also matter in the case where you pay for your IOOPs. Which would be true with something like an attached Amazon EBS storage.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

