<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[沧海一粟]]></title> 
<link>http://www.dzhope.com/index.php</link> 
<description><![CDATA[Web系统架构与服务器运维,php开发]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[沧海一粟]]></copyright>
<item>
<link>http://www.dzhope.com/post//</link>
<title><![CDATA[mysql Key_buffer_size参数的设置]]></title> 
<author>jed &lt;jed521@163.com&gt;</author>
<category><![CDATA[服务器技术]]></category>
<pubDate>Thu, 17 Mar 2011 16:13:07 +0000</pubDate> 
<guid>http://www.dzhope.com/post//</guid> 
<description>
<![CDATA[ 
	在mysql数据库中，mysql key_buffer_size是对MyISAM表性能影响最大的一个参数，下面就将对mysql Key_buffer_size参数的设置进行详细介绍，供您参考。<br/><br/>下面一台以MyISAM为主要存储引擎服务器的配置：<br/>mysql> show variables like 'key_buffer_size';<br/>+-----------------+------------+<br/>&#124; Variable_name &#124; Value &#124;<br/>+-----------------+------------+<br/>&#124; key_buffer_size &#124; 536870912 &#124;<br/>+-----------------+------------+<br/>分配了512MB内存给mysql key_buffer_size，我们再看一下key_buffer_size的使用情况：<br/>mysql> show global status like 'key_read%';<br/>+------------------------+-------------+<br/>&#124; Variable_name &#124; Value &#124;<br/>+------------------------+-------------+<br/>&#124; Key_read_requests &#124; 27813678764 &#124;<br/>&#124; Key_reads &#124; 6798830 &#124;<br/>+------------------------+-------------+<br/>一共有27813678764个索引读取请求，有6798830个请求在内存中没有找到直接从硬盘读取索引，计算索引未命中缓存的概率：<br/><br/>key_cache_miss_rate = Key_reads / Key_read_requests * 100%<br/><br/>比如上面的数据，key_cache_miss_rate为0.0244%，4000个索引读取请求才有一个直接读硬盘，已经很BT了，key_cache_miss_rate在0.1%以下都很好(每1000个请求有一个直接读硬盘)，如果key_cache_miss_rate在0.01%以下的话，key_buffer_size分配的过多，可以适当减少。<br/>MySQL服务器还提供了key_blocks_*参数：<br/>mysql> show global status like 'key_blocks_u%';<br/>+------------------------+-------------+<br/>&#124; Variable_name &#124; Value &#124;<br/>+------------------------+-------------+<br/>&#124; Key_blocks_unused &#124; 0 &#124;<br/>&#124; Key_blocks_used &#124; 413543 &#124;<br/>+------------------------+-------------+<br/>Key_blocks_unused表示未使用的缓存簇(blocks)数，Key_blocks_used表示曾经用到的最大的blocks数，比如这台服务器，所有的缓存都用到了，要么增加key_buffer_size，要么就是过渡索引了，把缓存占满了。比较理想的设置：<br/>Key_blocks_used / (Key_blocks_unused + Key_blocks_used) * 100% ≈ 80%<br/><br/><br/>Tags - <a href="http://www.dzhope.com/tags/mysql/" rel="tag">mysql</a> , <a href="http://www.dzhope.com/tags/mysql%25E4%25BC%2598%25E5%258C%2596/" rel="tag">mysql优化</a>
]]>
</description>
</item><item>
<link>http://www.dzhope.com/post//#blogcomment</link>
<title><![CDATA[[评论] mysql Key_buffer_size参数的设置]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.dzhope.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>