<?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: Tokyo Tyrant &#8211; The Extras Part II :  The Performance Wall</title>
	<atom:link href="http://www.mysqlperformanceblog.com/2009/11/11/tokyo-tyrant-the-extras-part-ii-the-performance-wall/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mysqlperformanceblog.com/2009/11/11/tokyo-tyrant-the-extras-part-ii-the-performance-wall/</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: kenny</title>
		<link>http://www.mysqlperformanceblog.com/2009/11/11/tokyo-tyrant-the-extras-part-ii-the-performance-wall/comment-page-1/#comment-675930</link>
		<dc:creator>kenny</dc:creator>
		<pubDate>Thu, 12 Nov 2009 03:40:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=1662#comment-675930</guid>
		<description>helloï¼Œ there is a problem troubles me so long.
Why the size of a InnoDB page is 16kï¼Ÿ

As the page size of system is 4k.
If the InnoDB page is also 4k, perhaps system io can be reduce? 
As we know that InnoDB wirtes a least a whole page whenever it writes.

But I think there must be more advantages for the setting.
Can pls tell me why or how to find the answer.
Much thanks.</description>
		<content:encoded><![CDATA[<p>helloï¼Œ there is a problem troubles me so long.<br />
Why the size of a InnoDB page is 16kï¼Ÿ</p>
<p>As the page size of system is 4k.<br />
If the InnoDB page is also 4k, perhaps system io can be reduce?<br />
As we know that InnoDB wirtes a least a whole page whenever it writes.</p>
<p>But I think there must be more advantages for the setting.<br />
Can pls tell me why or how to find the answer.<br />
Much thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: matt</title>
		<link>http://www.mysqlperformanceblog.com/2009/11/11/tokyo-tyrant-the-extras-part-ii-the-performance-wall/comment-page-1/#comment-675741</link>
		<dc:creator>matt</dc:creator>
		<pubDate>Wed, 11 Nov 2009 20:57:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=1662#comment-675741</guid>
		<description>@herodiade,

  I think your correct, the only difference is how the kernel handles mmaped files...  i have looked for details but have not found out, so I need to put together a test to research this further.  I think what&#039;s happening here is all the writes that exceed the allocated cabinet memory are hitting the FS cache, where the kernel takes care of these in the background.  This means very little slowdown in the write process when cabinet flushes dirty pages to make room for new pages.  Mounting the FS as sync means we are writing directly to disk, so each new page read into memory requires a page to be written to disk, which slows this down to a crawl.  Adding more memory means there is a great change the record I am changing is already in memory.   

  These tests are the based on the benchmark I put together for my first tests.  Each transaction does two reads and one write.</description>
		<content:encoded><![CDATA[<p>@herodiade,</p>
<p>  I think your correct, the only difference is how the kernel handles mmaped files&#8230;  i have looked for details but have not found out, so I need to put together a test to research this further.  I think what&#8217;s happening here is all the writes that exceed the allocated cabinet memory are hitting the FS cache, where the kernel takes care of these in the background.  This means very little slowdown in the write process when cabinet flushes dirty pages to make room for new pages.  Mounting the FS as sync means we are writing directly to disk, so each new page read into memory requires a page to be written to disk, which slows this down to a crawl.  Adding more memory means there is a great change the record I am changing is already in memory.   </p>
<p>  These tests are the based on the benchmark I put together for my first tests.  Each transaction does two reads and one write.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: herodiade</title>
		<link>http://www.mysqlperformanceblog.com/2009/11/11/tokyo-tyrant-the-extras-part-ii-the-performance-wall/comment-page-1/#comment-675651</link>
		<dc:creator>herodiade</dc:creator>
		<pubDate>Wed, 11 Nov 2009 18:58:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.mysqlperformanceblog.com/?p=1662#comment-675651</guid>
		<description>This is strange because afaik most linux filesystems do flush dirty pages
every 5 second per default (commit kernel param) unless sync syscall
or mount option. So with &quot;NoSync: 31 MB/s&quot; we should expect 5*31 + small
overhead would be enough to keep all writes in dirty buffers for a whole
pdflush cycle, and then 512MB should be enough to handle the load exactly
as 1024MB would, no? Or... what /proc/sys/vm/dirty_ratio value did you
use for this test?

Though &quot;I use 256M of memory and run my test with writes going directly to
disk&quot; confuses me a lot; are you saying that the second test ran sync too?
(if so I don&#039;t understand why memory size do impact results); or are you
measuring read perfs in this second test? or mixed r+w with w being sync?

But I guess the question (&quot;As your data grows does  Tokyo Cabinet
slow down&quot;) was probably more about read performances than write
performances, wasn&#039;t it?

Maybe justing testing reads (on different keys) after a cache purge
(like sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches) would show worst
case (similar to when a very small proportion of data do fit in 
kernel buffers and everything is retrieved from disk) for read perfs?</description>
		<content:encoded><![CDATA[<p>This is strange because afaik most linux filesystems do flush dirty pages<br />
every 5 second per default (commit kernel param) unless sync syscall<br />
or mount option. So with &#8220;NoSync: 31 MB/s&#8221; we should expect 5*31 + small<br />
overhead would be enough to keep all writes in dirty buffers for a whole<br />
pdflush cycle, and then 512MB should be enough to handle the load exactly<br />
as 1024MB would, no? Or&#8230; what /proc/sys/vm/dirty_ratio value did you<br />
use for this test?</p>
<p>Though &#8220;I use 256M of memory and run my test with writes going directly to<br />
disk&#8221; confuses me a lot; are you saying that the second test ran sync too?<br />
(if so I don&#8217;t understand why memory size do impact results); or are you<br />
measuring read perfs in this second test? or mixed r+w with w being sync?</p>
<p>But I guess the question (&#8220;As your data grows does  Tokyo Cabinet<br />
slow down&#8221;) was probably more about read performances than write<br />
performances, wasn&#8217;t it?</p>
<p>Maybe justing testing reads (on different keys) after a cache purge<br />
(like sync &amp;&amp; echo 3 &gt; /proc/sys/vm/drop_caches) would show worst<br />
case (similar to when a very small proportion of data do fit in<br />
kernel buffers and everything is retrieved from disk) for read perfs?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

