首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在MySQL中自动重置查询缓存以提高表缓存命中率?

如何在MySQL中自动重置查询缓存以提高表缓存命中率?
EN

Database Administration用户
提问于 2014-02-13 14:56:16
回答 1查看 1.3K关注 0票数 1

我有一个VPS运行CentOS 6.4和2.5GB内存,英特尔(R) Xeon(R) CPU。它的MySQL版本是服务器版本: 5.5.35-cell。我有两个活跃的wordpress站点和两个非活动站点(非活动站点用于某些测试,一个用于个人使用)在此服务器。

此VPS MySQL配置文件具有以下查询缓存。

代码语言:javascript
运行
复制
thread_cache_size = 16

query_cache_type = 1
query_cache_size = 30M
query_cache_limit = 1M

在剩下的30分钟后,我的表缓存命中率降到了较低的水平。经过1小时4900万的MySQL启动时间,它是4% (334开放/ 7K开放)。

我认为要克服这个问题,我必须重置查询缓存,而不是刷新查询缓存。因此,如何自动重置查询缓存以优化MySQL表缓存?

EN

回答 1

Database Administration用户

发布于 2014-02-17 18:14:29

查询缓存只对低写入、高读取的工作负载有帮助,在具有这种访问模式的博客上应该非常方便。如果您发出任何DML,那么您将使该表的QC失效,重新填充将是必要的。你有没有根据当地的情况计算质量控制的效率?

http://www.mysqlperformanceblog.com/2006/07/27/mysql-query-cache/

表缓存是另一种动物。它将表缓存在内存中,这样MySQL就可以避免打开表的开销。有一个调整这一点的方法,这是类似于depth of longest join * max_connections的东西,但我怀疑这会给您带来麻烦。您可能最好调优key_buffer (MyISAM的索引缓存)或Innodb_buffer_pool_size (数据+索引的InnoDB缓存),以减少服务器上的负载。

http://www.mysqlperformanceblog.com/2009/11/16/table_缓存-负面-可伸缩性/

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/58873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档