注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

simonzhang个人观点

http://www.simonzhang.net 镜像地址

 
 
 

日志

 
 

mysql的缓存使用  

2010-10-17 09:13:33|  分类: mysql数据库 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

张子萌[2010-10-17]

1。在配置文件中添加配置

query_cache_size = 24M
query_cache_type = 1        #0不缓存
       #1 缓存所有的结果,除了 SELECT SQL_NO_CACHE ... 查询
       #2 仅缓存 SELECT SQL_CACHE ... 查询
query_cache_limit = 1048576 #不缓存大于这个值的结果。(缺省为 1M)

2。添加完毕重启mysql数据库

3。登陆mysql数据库查看缓存设置情况

mysql > show variables like '%query%';

have_query_cache           缓存是否可用
long_query_time            超过N秒才记录
query_alloc_block_size     缓存分配的块大小(推荐4096为4k)
query_cache_limit          指示每个查询结果集最大的缓存限制,超过这个值的结果集不缓存
query_cache_min_res_unit   被分配给缓存的最小的块的数量
query_prealloc_size        被缓存用于解析和执行的持久buffer的大小
query_cache_size           缓存的大小

4。查看mysql数据库缓存使用情况

mysql > show status like 'Qcache%';

Qcache_free_blocks         查询缓存中的空闲内存块的数目
Qcache_free_memory         查询缓存的空闲内存总数
Qcache_hits                缓存采样数数目
Qcache_inserts             被加入到缓存中的查询数目 
Qcache_lowmem_prunes       因为缺少内存而被从缓存中删除的查询数目 
Qcache_not_cached          没有被缓存的查询数目
Qcache_queries_in_cache    在缓存中已注册的查询数目 
Qcache_total_blocks        查询缓存中的块的总数目

5。维护部分

5.1
查询缓存碎片率   Qcache_free_blocks / Qcache_total_blocks * 100%
如果查询缓存碎片率超过20%
flush query cache 整理缓存碎片

5.2
查询缓存利用率  (query_cache_size – Qcache_free_memory) / query_cache_size * 100%
如果利用率在25%以下,则是query_cache_size设置的过大。

5.3
查询缓存命中率  (Qcache_hits – Qcache_inserts) / Qcache_hits * 100%

5.4
刷新缓存状态
flush status

5.5
重启缓存服务
reset query cache

  评论这张
 
阅读(648)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017