如何保存和重新加载MySQL查询缓存以保持站点以最高速度运行

时间:2011-02-24 06:14:55

标签: mysql caching magento query-cache

我正在测试服务器上运行Magento电子商务安装(在PHP / MySQL上运行)。我有一个相当大的(从我读过的)query_cache_size为272,629,760字节,它工作得很好。

一旦大多数查询加载到查询缓存中,网站就会快速运行,速度与最快的生产网站(Google.com或Amazon.com除外)一样快。但我遇到的问题是,为了将所有这些查询加载到查询缓存中,我必须手动点击网站上的100个链接。每次单击链接时,都会将查询发送到数据库并保存在缓存中。但是,如果我重新启动服务器,那么我必须重新做一遍。必须有更好的方法!

理想情况下,我认为应该有一种方法可以在重新启动之前“备份”查询缓存并在重新启动时加载它。这可能吗?

否则,我将不得不设计一个自动点击我所有链接的网页抓取工具。

2 个答案:

答案 0 :(得分:1)

除了MySQL的查询缓存之外,您还应该使用APC(Alternative PHP Cache),可能还有一些Magento的内置整页缓存机制。

这可以减轻您对MySQL的一些往返行程,从而减少对已启动的MySQL缓存的需求。您可以手动“填充”Magento数据库的缓存,但这隐藏了真正的问题,这就是为了避免进入MySQL - 尤其是在Magento中。

对于它的价值 - 你是我遇到过的第一个将Magento的速度与谷歌和雅虎相提并论的人。 :)

答案 1 :(得分:0)

这个问题可能更适合服务器故障,但它很有意思,所以这里有:)

Magento主要使用InnoDB表,因此在阅读thisthis

时请考虑到这一点。

我还建议APC per @ philwinkle的建议,这对我的表现产生了巨大的影响。同样使用CDN来卸载服务小文件的负载(img / js / css)