<?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: For MySQL DBA fame and glory. Prize included.</title>
	<atom:link href="http://ronaldbradford.com/blog/for-mysql-dba-fame-and-glory-prize-included-2009-05-29/feed/" rel="self" type="application/rss+xml" />
	<link>http://ronaldbradford.com/blog/for-mysql-dba-fame-and-glory-prize-included-2009-05-29/</link>
	<description>Expert times and information on MySQL</description>
	<lastBuildDate>Fri, 12 Mar 2010 22:45:29 -0400</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Shlomi Noach</title>
		<link>http://ronaldbradford.com/blog/for-mysql-dba-fame-and-glory-prize-included-2009-05-29/comment-page-1/#comment-540</link>
		<dc:creator>Shlomi Noach</dc:creator>
		<pubDate>Tue, 02 Jun 2009 07:50:51 +0000</pubDate>
		<guid isPermaLink="false">http://ronaldbradford.com/blog/?p=1522#comment-540</guid>
		<description>@Michael,

you are right; I was merely stating the fact, regardless of the 5 parameters limitation. I was in fact relating to Toba #8.</description>
		<content:encoded><![CDATA[<p>@Michael,</p>
<p>you are right; I was merely stating the fact, regardless of the 5 parameters limitation. I was in fact relating to Toba #8.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael</title>
		<link>http://ronaldbradford.com/blog/for-mysql-dba-fame-and-glory-prize-included-2009-05-29/comment-page-1/#comment-535</link>
		<dc:creator>Michael</dc:creator>
		<pubDate>Tue, 02 Jun 2009 04:29:35 +0000</pubDate>
		<guid isPermaLink="false">http://ronaldbradford.com/blog/?p=1522#comment-535</guid>
		<description>@Shlomi Noach:
True that for replication to work correctly you need to assign server_id, however as TOP 5 configuration parameters, I&#039;d recommend log-bin and leave server_id out. Replication will not start correctly without server_id, however the server [as a master] will be ripe/ready to serve replication slaves (assuming binary logs are not purged). As a result, you will eventually be forced to set server_id ...</description>
		<content:encoded><![CDATA[<p>@Shlomi Noach:<br />
True that for replication to work correctly you need to assign server_id, however as TOP 5 configuration parameters, I&#8217;d recommend log-bin and leave server_id out. Replication will not start correctly without server_id, however the server [as a master] will be ripe/ready to serve replication slaves (assuming binary logs are not purged). As a result, you will eventually be forced to set server_id &#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shlomi Noach</title>
		<link>http://ronaldbradford.com/blog/for-mysql-dba-fame-and-glory-prize-included-2009-05-29/comment-page-1/#comment-534</link>
		<dc:creator>Shlomi Noach</dc:creator>
		<pubDate>Tue, 02 Jun 2009 04:21:51 +0000</pubDate>
		<guid isPermaLink="false">http://ronaldbradford.com/blog/?p=1522#comment-534</guid>
		<description>Just to point out (competition aside) that for replication purpose, log-bin is not sufficient: one must also define server-id (and though this is a dynamic variable, it really should be set in the config file)</description>
		<content:encoded><![CDATA[<p>Just to point out (competition aside) that for replication purpose, log-bin is not sufficient: one must also define server-id (and though this is a dynamic variable, it really should be set in the config file)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gavin Towey</title>
		<link>http://ronaldbradford.com/blog/for-mysql-dba-fame-and-glory-prize-included-2009-05-29/comment-page-1/#comment-539</link>
		<dc:creator>Gavin Towey</dc:creator>
		<pubDate>Mon, 01 Jun 2009 23:31:40 +0000</pubDate>
		<guid isPermaLink="false">http://ronaldbradford.com/blog/?p=1522#comment-539</guid>
		<description>Also note that I didn&#039;t choose to adjust sort_buffer_size, read_buffer_size or read_rnd_buffer_size since defaults in more recent versions of mysql are sensible values.  They are the next values I&#039;d tune *after* the top 5 above.</description>
		<content:encoded><![CDATA[<p>Also note that I didn&#8217;t choose to adjust sort_buffer_size, read_buffer_size or read_rnd_buffer_size since defaults in more recent versions of mysql are sensible values.  They are the next values I&#8217;d tune *after* the top 5 above.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gavin Towey</title>
		<link>http://ronaldbradford.com/blog/for-mysql-dba-fame-and-glory-prize-included-2009-05-29/comment-page-1/#comment-538</link>
		<dc:creator>Gavin Towey</dc:creator>
		<pubDate>Mon, 01 Jun 2009 23:29:49 +0000</pubDate>
		<guid isPermaLink="false">http://ronaldbradford.com/blog/?p=1522#comment-538</guid>
		<description>My 5 (assuming non-innodb system as suggested by key_buffer being the most obvious addition):
key_buffer_size:
# Large enough to hold current mysiam indexes, but no more than 2G or 25% of total system ram.

table_cache
# somewhere around 512 to 2048.  Adjust this value up until the opened_tables status stops incrementing most of the time.

thread_cache_size
# probably around 32 to 128.  Adjust it up until threads_created counter stops incrementing.

query_cache_size
# probably around 32M to 128M.  Check the cache hits and fill rate for size.  Check ratio of insert rate to hit rate to decide if query cache is even usefull.  If there is a low number of hits compared to inserts, then it would be best to disable query cache.

log-bin
# incremental backups, and point in time recovery are critical.  Plus it&#039;s better to have this on, so you don&#039;t require a server restart when it&#039;s needed for replication or backups later.</description>
		<content:encoded><![CDATA[<p>My 5 (assuming non-innodb system as suggested by key_buffer being the most obvious addition):<br />
key_buffer_size:<br />
# Large enough to hold current mysiam indexes, but no more than 2G or 25% of total system ram.</p>
<p>table_cache<br />
# somewhere around 512 to 2048.  Adjust this value up until the opened_tables status stops incrementing most of the time.</p>
<p>thread_cache_size<br />
# probably around 32 to 128.  Adjust it up until threads_created counter stops incrementing.</p>
<p>query_cache_size<br />
# probably around 32M to 128M.  Check the cache hits and fill rate for size.  Check ratio of insert rate to hit rate to decide if query cache is even usefull.  If there is a low number of hits compared to inserts, then it would be best to disable query cache.</p>
<p>log-bin<br />
# incremental backups, and point in time recovery are critical.  Plus it&#8217;s better to have this on, so you don&#8217;t require a server restart when it&#8217;s needed for replication or backups later.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael</title>
		<link>http://ronaldbradford.com/blog/for-mysql-dba-fame-and-glory-prize-included-2009-05-29/comment-page-1/#comment-533</link>
		<dc:creator>Michael</dc:creator>
		<pubDate>Mon, 01 Jun 2009 16:38:22 +0000</pubDate>
		<guid isPermaLink="false">http://ronaldbradford.com/blog/?p=1522#comment-533</guid>
		<description>log-bin
- For point in time recovery &amp; replication

table_cache &lt;= 1024
- WP opens and closes tables faster than you can sneeze. It also [heavily] uses temp tables. This can be a huge bottleneck if set too high.

query_cache_size
- WP is heavily read oriented, having an ample Query Cache size alleviates table accesses

read_rnd_buffer_size
- WP uses poorly written queries -- many GROUP BY and ORDER BY. Setting this to a higher than normal value can help speed up these queries.

If MyISAM:
key_buffer_size (if large indexes, multiple key caches)
- To help cache keys in memory, try to avoid disk seeks

If InnoDB:
innodb_buffer_pool_size
- To help cache data in main memory, try and avoid disk seeks</description>
		<content:encoded><![CDATA[<p>log-bin<br />
- For point in time recovery &amp; replication</p>
<p>table_cache &lt;= 1024<br />
- WP opens and closes tables faster than you can sneeze. It also [heavily] uses temp tables. This can be a huge bottleneck if set too high.</p>
<p>query_cache_size<br />
- WP is heavily read oriented, having an ample Query Cache size alleviates table accesses</p>
<p>read_rnd_buffer_size<br />
- WP uses poorly written queries &#8212; many GROUP BY and ORDER BY. Setting this to a higher than normal value can help speed up these queries.</p>
<p>If MyISAM:<br />
key_buffer_size (if large indexes, multiple key caches)<br />
- To help cache keys in memory, try to avoid disk seeks</p>
<p>If InnoDB:<br />
innodb_buffer_pool_size<br />
- To help cache data in main memory, try and avoid disk seeks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tobias</title>
		<link>http://ronaldbradford.com/blog/for-mysql-dba-fame-and-glory-prize-included-2009-05-29/comment-page-1/#comment-537</link>
		<dc:creator>Tobias</dc:creator>
		<pubDate>Mon, 01 Jun 2009 14:32:58 +0000</pubDate>
		<guid isPermaLink="false">http://ronaldbradford.com/blog/?p=1522#comment-537</guid>
		<description>@Tobia
While Wordpress is mostly readonly and does not use any of InnoDB&#039;s optimizations (clustered indexes).
And in the past there were a few problems in using Innodb: SELECT COUNT(*) FROM tab; and such things.</description>
		<content:encoded><![CDATA[<p>@Tobia<br />
While Wordpress is mostly readonly and does not use any of InnoDB&#8217;s optimizations (clustered indexes).<br />
And in the past there were a few problems in using Innodb: SELECT COUNT(*) FROM tab; and such things.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Minor</title>
		<link>http://ronaldbradford.com/blog/for-mysql-dba-fame-and-glory-prize-included-2009-05-29/comment-page-1/#comment-536</link>
		<dc:creator>David Minor</dc:creator>
		<pubDate>Mon, 01 Jun 2009 14:30:13 +0000</pubDate>
		<guid isPermaLink="false">http://ronaldbradford.com/blog/?p=1522#comment-536</guid>
		<description>Also consider if you are on a 32 or 64 bit machine.  If 32, your large caches (e.g. innodb_buffer_pool and key_buffer_size) will be limited to 2G.

Remember that some values are per thread (connection) e.g.: read_buffer_size and some can be allocated multiple times per thread, e.g.: join_buffer_size

Other values are allocated globalally, e.g. innodb_buffer_pool and query_cache_size.

Keep in mind the total amount of physical memory on the server when you are calculating global buffers and per connection buffers (Also note the setting of max_connections.  Can your server handle 1000 connections, for example,  allocating as much per-thread memory as you&#039;ve configured?)</description>
		<content:encoded><![CDATA[<p>Also consider if you are on a 32 or 64 bit machine.  If 32, your large caches (e.g. innodb_buffer_pool and key_buffer_size) will be limited to 2G.</p>
<p>Remember that some values are per thread (connection) e.g.: read_buffer_size and some can be allocated multiple times per thread, e.g.: join_buffer_size</p>
<p>Other values are allocated globalally, e.g. innodb_buffer_pool and query_cache_size.</p>
<p>Keep in mind the total amount of physical memory on the server when you are calculating global buffers and per connection buffers (Also note the setting of max_connections.  Can your server handle 1000 connections, for example,  allocating as much per-thread memory as you&#8217;ve configured?)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Toba</title>
		<link>http://ronaldbradford.com/blog/for-mysql-dba-fame-and-glory-prize-included-2009-05-29/comment-page-1/#comment-548</link>
		<dc:creator>Toba</dc:creator>
		<pubDate>Mon, 01 Jun 2009 10:46:24 +0000</pubDate>
		<guid isPermaLink="false">http://ronaldbradford.com/blog/?p=1522#comment-548</guid>
		<description>Why every assumes MyISAM for wordpress? We run wordpress fine with Innodb :)

So mine are,

# Set InnoDB as default engine so wordpress will create tables as innodb.
default-storage-engine = InnoDB

# More memory for Innodb, I usually set this about 75% of all RAM if running only innodb.
innodb_buffer_pool_size = 1024M

# Table cache is still usefull even with innodb tablespace because we want to cache .frm files.
table_cache = 2048

# Binary logging for replication and PITR
bin-log = server-bin

# For both mysqld and mysqldump. Using bigger multiline inserts reading the sql dump is lot faster.
max_allowed_packet = 16M</description>
		<content:encoded><![CDATA[<p>Why every assumes MyISAM for wordpress? We run wordpress fine with Innodb <img src='http://ronaldbradford.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>So mine are,</p>
<p># Set InnoDB as default engine so wordpress will create tables as innodb.<br />
default-storage-engine = InnoDB</p>
<p># More memory for Innodb, I usually set this about 75% of all RAM if running only innodb.<br />
innodb_buffer_pool_size = 1024M</p>
<p># Table cache is still usefull even with innodb tablespace because we want to cache .frm files.<br />
table_cache = 2048</p>
<p># Binary logging for replication and PITR<br />
bin-log = server-bin</p>
<p># For both mysqld and mysqldump. Using bigger multiline inserts reading the sql dump is lot faster.<br />
max_allowed_packet = 16M</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tobias</title>
		<link>http://ronaldbradford.com/blog/for-mysql-dba-fame-and-glory-prize-included-2009-05-29/comment-page-1/#comment-547</link>
		<dc:creator>Tobias</dc:creator>
		<pubDate>Sun, 31 May 2009 23:18:01 +0000</pubDate>
		<guid isPermaLink="false">http://ronaldbradford.com/blog/?p=1522#comment-547</guid>
		<description>My Config would be:

# While Wordpress relies on MyISAM and blogs are about 99.999% read-only we get a big benefit of a very big cache
query_cache_type = On
query_cache_size = 128M # we should know the RAM size but 128MB will never be too much for the use of this server (read-only sites)

# MyISAM has no crash recovery like InnoDB, so we have to do it a similar way, or we&#039;ll have trouble some night (Moore&#039;s Law)
myisam-recover = BACKUP,FORCE

# explained later ;)
log-slow-queries

The other configuration options i would not touch - they are pretty ok. The basic wordpress functions do not use many tables, so there&#039;s no need in increasing tablecache or keybuffersize.
And database querys of wordpress are optimized, we only need the logging feature for slow querys to see that &quot;something ist not working correctly&quot;, we choose false parameters, the os is swapping or maybe our raid is doing some consistency checks.

Tobias</description>
		<content:encoded><![CDATA[<p>My Config would be:</p>
<p># While Wordpress relies on MyISAM and blogs are about 99.999% read-only we get a big benefit of a very big cache<br />
query_cache_type = On<br />
query_cache_size = 128M # we should know the RAM size but 128MB will never be too much for the use of this server (read-only sites)</p>
<p># MyISAM has no crash recovery like InnoDB, so we have to do it a similar way, or we&#8217;ll have trouble some night (Moore&#8217;s Law)<br />
myisam-recover = BACKUP,FORCE</p>
<p># explained later <img src='http://ronaldbradford.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
log-slow-queries</p>
<p>The other configuration options i would not touch &#8211; they are pretty ok. The basic wordpress functions do not use many tables, so there&#8217;s no need in increasing tablecache or keybuffersize.<br />
And database querys of wordpress are optimized, we only need the logging feature for slow querys to see that &#8220;something ist not working correctly&#8221;, we choose false parameters, the os is swapping or maybe our raid is doing some consistency checks.</p>
<p>Tobias</p>
]]></content:encoded>
	</item>
</channel>
</rss>
