<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-15622618.post5673645379622018439..comments</id><updated>2009-01-19T13:14:37.957-08:00</updated><category term='EAV table'/><category term='LAMP'/><category term='drizzle'/><category term='bye'/><category term='MySQL'/><category term='blackhole'/><category term='bug'/><category term='twitter'/><category term='JOIN performance'/><category term='binary logs'/><category term='savepoint'/><category term='replication'/><category term='MyCAT'/><category term='InnoDB'/><title type='text'>Comments on Deva's MySQL / Linux blog: Tokutek challenge vs. 128GB RAM</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.dbadeva.com/feeds/5673645379622018439/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15622618/5673645379622018439/comments/default'/><link rel='alternate' type='text/html' href='http://blog.dbadeva.com/2009/01/tokutek-challenge-vs-128gb-ram.html'/><author><name>Devananda vdv</name><uri>http://www.blogger.com/profile/03378341125039609409</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://bp3.blogger.com/_1iBhwYW5_GQ/SHjs0tHXaEI/AAAAAAAAABM/BIuc8KttaBU/S220/deva_vanity_2_small.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-15622618.post-3372486343694600608</id><published>2009-01-19T13:14:00.000-08:00</published><updated>2009-01-19T13:14:00.000-08:00</updated><title type='text'>Thanks Mark and Bradley for the insights. Regardin...</title><content type='html'>Thanks Mark and Bradley for the insights. Regarding log configuration:&lt;BR/&gt;&lt;BR/&gt; innodb_log_file_size         = 1G&lt;BR/&gt; innodb_log_files_in_group    = 2&lt;BR/&gt; innodb_log_buffer_size       = 16M&lt;BR/&gt;&lt;BR/&gt;I am using O_DIRECT and disabling the HW write-cache because this particular model of RAID controller (MegaRAID SAS 1078) is known to have failures in the battery backed write cache. It's a nightmare when the RAID controller fails and all the data in the write-cache is lost -- and difficult to piece back together if you have slaves that already replicated some of the lost data.&lt;BR/&gt;&lt;BR/&gt;I would be very interested to see the difference Percona's patches make, but this server is now in production so I can't run another test on it at this time. If I'm able to in the future, I'll post those for comparison.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15622618/5673645379622018439/comments/default/3372486343694600608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15622618/5673645379622018439/comments/default/3372486343694600608'/><link rel='alternate' type='text/html' href='http://blog.dbadeva.com/2009/01/tokutek-challenge-vs-128gb-ram.html?showComment=1232399640000#c3372486343694600608' title=''/><author><name>Devananda vdv</name><uri>http://www.blogger.com/profile/03378341125039609409</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://bp3.blogger.com/_1iBhwYW5_GQ/SHjs0tHXaEI/AAAAAAAAABM/BIuc8KttaBU/S220/deva_vanity_2_small.JPG'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.dbadeva.com/2009/01/tokutek-challenge-vs-128gb-ram.html' ref='tag:blogger.com,1999:blog-15622618.post-5673645379622018439' source='http://www.blogger.com/feeds/15622618/posts/default/5673645379622018439' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-354425924'/></entry><entry><id>tag:blogger.com,1999:blog-15622618.post-5573355103533254617</id><published>2009-01-19T12:33:00.000-08:00</published><updated>2009-01-19T12:33:00.000-08:00</updated><title type='text'>That is nice hardware. Thanks for the writeup. In ...</title><content type='html'>That is nice hardware. Thanks for the writeup. In addition to the slowdown from the memory system, I wonder if there was a slowdown from flushing dirty pages. You used O_DIRECT rather than buffered IO so writes are likely to see disk latency rather being done quickly to the OS buffer cache -- ignoring the impact of a HW RAID write cache. And you used unmodified MySQL so there is 1 thread that uses sync IO to flush dirty pages. And InnoDB will try to flush ~100 pages per second, even though your hardware can do ~800 writes per second.&lt;BR/&gt;&lt;BR/&gt;When there are too many dirty pages, user transactions will be delayed. There are two metrics by which there are too many dirty pages. The first is when max dirty pages is exceeded and that is not likely here. The second is when there are pages with the min LSN at which the page was dirty is near the min LSN in the transaction log file. And this is likely to be the case because the max size all tx log files is 4G.&lt;BR/&gt;&lt;BR/&gt;So, how many log files do you use and how big are they?&lt;BR/&gt;&lt;BR/&gt;You might be able to make this run faster by using the largest possible log files (2 X 2G), a Percona build with support for more background IO threads and setting innodb_io_capacity=1000. But a lot more remains to be done to make InnoDB use all IO capacity.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15622618/5673645379622018439/comments/default/5573355103533254617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15622618/5673645379622018439/comments/default/5573355103533254617'/><link rel='alternate' type='text/html' href='http://blog.dbadeva.com/2009/01/tokutek-challenge-vs-128gb-ram.html?showComment=1232397180000#c5573355103533254617' title=''/><author><name>Mark Callaghan</name><uri>http://www.blogger.com/profile/09590445221922043181</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.dbadeva.com/2009/01/tokutek-challenge-vs-128gb-ram.html' ref='tag:blogger.com,1999:blog-15622618.post-5673645379622018439' source='http://www.blogger.com/feeds/15622618/posts/default/5673645379622018439' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-630815494'/></entry><entry><id>tag:blogger.com,1999:blog-15622618.post-8496746836804712386</id><published>2009-01-19T11:50:00.000-08:00</published><updated>2009-01-19T11:50:00.000-08:00</updated><title type='text'>I'm no InnoDB expert, but I do know about data str...</title><content type='html'>I'm no InnoDB expert, but I do know about data structures and systems.  Here are a few possible reasons for the insertion rate to drop as the benchmark progresseses:&lt;BR/&gt;&lt;BR/&gt;1) More nodes are traversed per insertion.  The tree is getting bigger.  That means the tree is getting deeper.  So it is more CPU work to traverse the tree to perform a single insertion because more nodes are traversed.&lt;BR/&gt;&lt;BR/&gt;2) More cache misses.  As the tree gets larger it fits less well into the caches and TLB and you are getting more cache and TLB misses.  Then the cost of traversing a single node becomes more expensive.&lt;BR/&gt;&lt;BR/&gt;3) More instructions per node.  For example, perhaps the undo information gets a little more complex as the tree gets bigger.  (I'm just making this up, since I dont' fully understand InnoDB's undo logic.)  Consider what happens when you insert 20 items into an empty tree.  All 20 items end up in the same node.  But if you insert 20 items into a big tree, all 20 items are likely to end up in 20 different nodes.  So the undo information becomes "sparse" in the data structure, maybe requiring more work.  Maybe there are other effects that add to the instruction count as the tree gets bigger.  Thus in addition to suffering more cache misses per node, you may be executing more &lt;I&gt;instructions&lt;/I&gt; per node.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15622618/5673645379622018439/comments/default/8496746836804712386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15622618/5673645379622018439/comments/default/8496746836804712386'/><link rel='alternate' type='text/html' href='http://blog.dbadeva.com/2009/01/tokutek-challenge-vs-128gb-ram.html?showComment=1232394600000#c8496746836804712386' title=''/><author><name>Bradley C. Kuszmaul</name><uri>http://www.blogger.com/profile/16428429628432728830</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.dbadeva.com/2009/01/tokutek-challenge-vs-128gb-ram.html' ref='tag:blogger.com,1999:blog-15622618.post-5673645379622018439' source='http://www.blogger.com/feeds/15622618/posts/default/5673645379622018439' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1214678514'/></entry><entry><id>tag:blogger.com,1999:blog-15622618.post-6473879230133183723</id><published>2009-01-19T11:14:00.000-08:00</published><updated>2009-01-19T11:14:00.000-08:00</updated><title type='text'>Updated to add a few more innodb config params, an...</title><content type='html'>Updated to add a few more innodb config params, and make the list more readable.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15622618/5673645379622018439/comments/default/6473879230133183723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15622618/5673645379622018439/comments/default/6473879230133183723'/><link rel='alternate' type='text/html' href='http://blog.dbadeva.com/2009/01/tokutek-challenge-vs-128gb-ram.html?showComment=1232392440000#c6473879230133183723' title=''/><author><name>Devananda vdv</name><uri>http://www.blogger.com/profile/03378341125039609409</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://bp3.blogger.com/_1iBhwYW5_GQ/SHjs0tHXaEI/AAAAAAAAABM/BIuc8KttaBU/S220/deva_vanity_2_small.JPG'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.dbadeva.com/2009/01/tokutek-challenge-vs-128gb-ram.html' ref='tag:blogger.com,1999:blog-15622618.post-5673645379622018439' source='http://www.blogger.com/feeds/15622618/posts/default/5673645379622018439' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-354425924'/></entry></feed>
