我有一个VPS运行CentOS 6.4和2.5GB内存,英特尔(R) Xeon(R) CPU。它的MySQL版本是服务器版本: 5.5.35-cell。我有两个活跃的wordpress站点和两个非活动站点(非活动站点用于某些测试,一个用于个人使用)在此服务器。
此VPS MySQL配置文件具有以下查询缓存。
thread_cache_size = 16
query_cache_type = 1
query_cache_size = 30M
query_cache_limit = 1M在剩下的30分钟后,我的表缓存命中率降到了较低的水平。经过1小时4900万的MySQL启动时间,它是4% (334开放/ 7K开放)。
我认为要克服这个问题,我必须重置查询缓存,而不是刷新查询缓存。因此,如何自动重置查询缓存以优化MySQL表缓存?
发布于 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_缓存-负面-可伸缩性/
https://dba.stackexchange.com/questions/58873
复制相似问题