<?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"
	>
<channel>
	<title>Comments on: MySQL: what read_buffer_size value is optimal ?</title>
	<atom:link href="http://www.mysqlperformanceblog.com/2007/09/17/mysql-what-read_buffer_size-value-is-optimal/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mysqlperformanceblog.com/2007/09/17/mysql-what-read_buffer_size-value-is-optimal/</link>
	<description>Everything about MySQL Performance</description>
	<pubDate>Fri, 04 Jul 2008 15:09:26 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: Bigger isn&#8217;t always better for MySQL at Jason Clawson</title>
		<link>http://www.mysqlperformanceblog.com/2007/09/17/mysql-what-read_buffer_size-value-is-optimal/#comment-301489</link>
		<dc:creator>Bigger isn&#8217;t always better for MySQL at Jason Clawson</dc:creator>
		<pubDate>Tue, 20 May 2008 00:40:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2007/09/17/mysql-what-read_buffer_size-value-is-optimal/#comment-301489</guid>
		<description>[...] looks like the guys over at the MySQL Performance Blog came to the same conclusion I did:  Leave read_buffer_size to its default value.  Changing it [...]</description>
		<content:encoded><![CDATA[<p>[...] looks like the guys over at the MySQL Performance Blog came to the same conclusion I did:  Leave read_buffer_size to its default value.  Changing it [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: 记录/分享/…… &#187; Blog Archive &#187; A Few Common Performance Mistakes</title>
		<link>http://www.mysqlperformanceblog.com/2007/09/17/mysql-what-read_buffer_size-value-is-optimal/#comment-249461</link>
		<dc:creator>记录/分享/…… &#187; Blog Archive &#187; A Few Common Performance Mistakes</dc:creator>
		<pubDate>Fri, 07 Mar 2008 01:33:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2007/09/17/mysql-what-read_buffer_size-value-is-optimal/#comment-249461</guid>
		<description>[...] http://www.mysqlperformanceblog.com/2007/09/17/mysql-what-read_buffer_size-value-is-optimal/ http://www.mysqlperformanceblog.com/2006/06/06/are-larger-buffers-always-better/ [...]</description>
		<content:encoded><![CDATA[<p>[...] <a href="http://www.mysqlperformanceblog.com/2007/09/17/mysql-what-read_buffer_size-value-is-optimal/" rel="nofollow">http://www.mysqlperformanceblog.com/2007/09/17/mysql-what-read_buffer_size-value-is-optimal/</a> <a href="http://www.mysqlperformanceblog.com/2006/06/06/are-larger-buffers-always-better/" rel="nofollow">http://www.mysqlperformanceblog.com/2006/06/06/are-larger-buffers-always-better/</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Big DBA Head! - Database Brain Power! &#187; A Few Common Performance Mistakes</title>
		<link>http://www.mysqlperformanceblog.com/2007/09/17/mysql-what-read_buffer_size-value-is-optimal/#comment-249314</link>
		<dc:creator>Big DBA Head! - Database Brain Power! &#187; A Few Common Performance Mistakes</dc:creator>
		<pubDate>Thu, 06 Mar 2008 16:19:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2007/09/17/mysql-what-read_buffer_size-value-is-optimal/#comment-249314</guid>
		<description>[...] http://www.mysqlperformanceblog.com/2007/09/17/mysql-what-read_buffer_size-value-is-optimal/ [...]</description>
		<content:encoded><![CDATA[<p>[...] <a href="http://www.mysqlperformanceblog.com/2007/09/17/mysql-what-read_buffer_size-value-is-optimal/" rel="nofollow">http://www.mysqlperformanceblog.com/2007/09/17/mysql-what-read_buffer_size-value-is-optimal/</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Data Management Today by Craig Mullins</title>
		<link>http://www.mysqlperformanceblog.com/2007/09/17/mysql-what-read_buffer_size-value-is-optimal/#comment-170604</link>
		<dc:creator>Data Management Today by Craig Mullins</dc:creator>
		<pubDate>Fri, 21 Sep 2007 16:01:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2007/09/17/mysql-what-read_buffer_size-value-is-optimal/#comment-170604</guid>
		<description>&lt;strong&gt;Log Buffer #63: a Carnival of the Vanities for DBAs...&lt;/strong&gt;

Welcome to the 63rd edition of Log Buffer, the weekly review of database blogs. For those of you reading...</description>
		<content:encoded><![CDATA[<p><strong>Log Buffer #63: a Carnival of the Vanities for DBAs&#8230;</strong></p>
<p>Welcome to the 63rd edition of Log Buffer, the weekly review of database blogs. For those of you reading&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Apachez</title>
		<link>http://www.mysqlperformanceblog.com/2007/09/17/mysql-what-read_buffer_size-value-is-optimal/#comment-170462</link>
		<dc:creator>Apachez</dc:creator>
		<pubDate>Fri, 21 Sep 2007 05:34:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2007/09/17/mysql-what-read_buffer_size-value-is-optimal/#comment-170462</guid>
		<description>11. Also the filesystems own buffers will be used which will lower the impact using random access (depending on size of the tables etc).

Regarding the 128k optimization it sounds very much like a sync is needed for how the data travels from the harddrive into the cpu. Pretty much similar why a cpu:ram ratio of 1:1 regarding fsb is often better than 1:2 ratio or some other variant.

Jay: Any progress of a tool which can find "optimal values" for a given system?

Peter: I disagree with you regarding example configurations. By using example configuration from a given system you can save much time in order to if not get a perfect configuration at least get a way better configuration than the outdated examples which are included with the mysql itself. It sounds more that you want to protect your consulting business to help others to find their optimal values with such statement as you gave in the end of this article.

Most people involving in security should by now know that security by obscurity doesnt work, I think the same applies in order to find optimal values for different setup. Optimization by obscurity doesnt work either - so lets share our findings and configuration examples :-)</description>
		<content:encoded><![CDATA[<p>11. Also the filesystems own buffers will be used which will lower the impact using random access (depending on size of the tables etc).</p>
<p>Regarding the 128k optimization it sounds very much like a sync is needed for how the data travels from the harddrive into the cpu. Pretty much similar why a cpu:ram ratio of 1:1 regarding fsb is often better than 1:2 ratio or some other variant.</p>
<p>Jay: Any progress of a tool which can find &#8220;optimal values&#8221; for a given system?</p>
<p>Peter: I disagree with you regarding example configurations. By using example configuration from a given system you can save much time in order to if not get a perfect configuration at least get a way better configuration than the outdated examples which are included with the mysql itself. It sounds more that you want to protect your consulting business to help others to find their optimal values with such statement as you gave in the end of this article.</p>
<p>Most people involving in security should by now know that security by obscurity doesnt work, I think the same applies in order to find optimal values for different setup. Optimization by obscurity doesnt work either - so lets share our findings and configuration examples <img src='http://www.mysqlperformanceblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: peter</title>
		<link>http://www.mysqlperformanceblog.com/2007/09/17/mysql-what-read_buffer_size-value-is-optimal/#comment-169583</link>
		<dc:creator>peter</dc:creator>
		<pubDate>Tue, 18 Sep 2007 20:39:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2007/09/17/mysql-what-read_buffer_size-value-is-optimal/#comment-169583</guid>
		<description>Ronald,

Indeed.  However read_buffer_size is  used for sequential scans - it is not used if table is read via index lookup for example.

In this case I performed test on virtually empty file system so I would be surprised if file is significantly fragmented. 

Also we're speaking about logical IO to file anyway so if file is fragmented one large read to the file will be split to several smaller physical reads but there would not be more of these for larger buffer.</description>
		<content:encoded><![CDATA[<p>Ronald,</p>
<p>Indeed.  However read_buffer_size is  used for sequential scans - it is not used if table is read via index lookup for example.</p>
<p>In this case I performed test on virtually empty file system so I would be surprised if file is significantly fragmented. </p>
<p>Also we&#8217;re speaking about logical IO to file anyway so if file is fragmented one large read to the file will be split to several smaller physical reads but there would not be more of these for larger buffer.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Roland Volkmann</title>
		<link>http://www.mysqlperformanceblog.com/2007/09/17/mysql-what-read_buffer_size-value-is-optimal/#comment-169558</link>
		<dc:creator>Roland Volkmann</dc:creator>
		<pubDate>Tue, 18 Sep 2007 18:27:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2007/09/17/mysql-what-read_buffer_size-value-is-optimal/#comment-169558</guid>
		<description>Hi Peter,

your theory using larger buffers is valid for sequential IO only. Having random IO large buffers will result in lot of unneccessary read ahead data. And if file system hadn't written file in consecutive physical segments (fragmentation), then theory becomes much more complicated ...</description>
		<content:encoded><![CDATA[<p>Hi Peter,</p>
<p>your theory using larger buffers is valid for sequential IO only. Having random IO large buffers will result in lot of unneccessary read ahead data. And if file system hadn&#8217;t written file in consecutive physical segments (fragmentation), then theory becomes much more complicated &#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: peter</title>
		<link>http://www.mysqlperformanceblog.com/2007/09/17/mysql-what-read_buffer_size-value-is-optimal/#comment-169536</link>
		<dc:creator>peter</dc:creator>
		<pubDate>Tue, 18 Sep 2007 16:44:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2007/09/17/mysql-what-read_buffer_size-value-is-optimal/#comment-169536</guid>
		<description>Sinisa,

As far as I remember Innodb tables are not read using read_buffer :)</description>
		<content:encoded><![CDATA[<p>Sinisa,</p>
<p>As far as I remember Innodb tables are not read using read_buffer <img src='http://www.mysqlperformanceblog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sinisa Milivojevic</title>
		<link>http://www.mysqlperformanceblog.com/2007/09/17/mysql-what-read_buffer_size-value-is-optimal/#comment-169534</link>
		<dc:creator>Sinisa Milivojevic</dc:creator>
		<pubDate>Tue, 18 Sep 2007 16:42:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2007/09/17/mysql-what-read_buffer_size-value-is-optimal/#comment-169534</guid>
		<description>Peter,

O_DIRECT does use different I/O path, but that is irrelevant. What is relevant that even InnoDB tables are read by using read buffer and that such combo would dodge out the consequences of OS cache-ing ... I think I will try to do myself what I suggested, as soon as I find some time ......... ;o)</description>
		<content:encoded><![CDATA[<p>Peter,</p>
<p>O_DIRECT does use different I/O path, but that is irrelevant. What is relevant that even InnoDB tables are read by using read buffer and that such combo would dodge out the consequences of OS cache-ing &#8230; I think I will try to do myself what I suggested, as soon as I find some time &#8230;&#8230;&#8230; ;o)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: peter</title>
		<link>http://www.mysqlperformanceblog.com/2007/09/17/mysql-what-read_buffer_size-value-is-optimal/#comment-169466</link>
		<dc:creator>peter</dc:creator>
		<pubDate>Tue, 18 Sep 2007 11:22:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/2007/09/17/mysql-what-read_buffer_size-value-is-optimal/#comment-169466</guid>
		<description>This may sounds silly but I can't find the sripe size for the box I have experimented with.  It well may be 128K

The interesting thing however if you're doing reads larger than stripe size you should get better performance, not worse -  aligned 
128K read will have to be read from single hard drive while 256K could use both hard drives for parallel IO.  

As we go to higher block sizes in theory RAID should be able to do even more optimization - say you do 2MB aligned read with 128M size - RAID could perform 1M read for each of underlying devices and then reorder 128K blocks to give requested 2M result set  giving close to twice of sequential read speed from single device (assuming there is enough bus bandwidth for it)

When I have some time I'll try to rerun this test on my Dell PowerEdge 2950 box  which has more hard drives and so in theory must love IO in large blocks.</description>
		<content:encoded><![CDATA[<p>This may sounds silly but I can&#8217;t find the sripe size for the box I have experimented with.  It well may be 128K</p>
<p>The interesting thing however if you&#8217;re doing reads larger than stripe size you should get better performance, not worse -  aligned<br />
128K read will have to be read from single hard drive while 256K could use both hard drives for parallel IO.  </p>
<p>As we go to higher block sizes in theory RAID should be able to do even more optimization - say you do 2MB aligned read with 128M size - RAID could perform 1M read for each of underlying devices and then reorder 128K blocks to give requested 2M result set  giving close to twice of sequential read speed from single device (assuming there is enough bus bandwidth for it)</p>
<p>When I have some time I&#8217;ll try to rerun this test on my Dell PowerEdge 2950 box  which has more hard drives and so in theory must love IO in large blocks.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
