您没有足够的RAM
我们有大约24万种产品
可用内存:6GB
线程:32
您所拥有的产品数量几乎没有足够的RAM。根据经验,我们建议每个逻辑内核至少有2-4GB的RAM。
如果您确定可能的内存使用量:
- 64个PHP线程,
max_memory
〜768MB = 24GB
- 240,000种产品可能意味着约15GB的InnoDB表空间
- 64个PHP线程将保证约128个MySQL连接,通常每个连接的最低成本约为200MB
- 使用Redis并
lzf
压缩后的240,000产品的后端存储-仍会消耗约6GB的RAM
因此,到目前为止,总共有70GB的已承诺RAM –我们甚至都没有提到OS等。
您的硬件严重不足。我建议阅读此Magento服务器设置文章,以期对如何前进有所了解。
Memcached不支持缓存标签
如果您使用的是Memcached(这不是问题,它的高性能),那么您是否在存储缓存标签。如果您没有slow_backend
定义-那么您就不会存储标签,这基本上意味着您的缓存无法区分任何其他不同的缓存类型-因此您将无法独立刷新它们。
请仔细阅读以下内容,http://www.sonassi.com/knowledge-base/magento-kb/what-is-memcache-actually-caching-in-magento/
我们强烈建议切换到Redis。它有其怪癖,并且确实需要对大型商店进行大量的微调。但是总体而言,由于具有缓存标签支持的真正优势,其性能将比Memcached稍好。
404和FPC
实际上,FPC确实存在问题,所有缓存引擎的404都有问题。原因是,任何仍在爬网或链接到的旧URL都将落在必须迭代整个core_url_rewrite
表的页面上,并在最终放弃并加载404之前,尝试找到与所有已定义的路由器和名称空间的匹配项。
然后缓存没有价值的资源,这将占用缓存存储空间。您可能会发现您的Memcached存储中有很大一部分实际上被404内容吞噬了。
有了大型目录(24万种产品),您肯定会在产品营业额中获得应有的份额,因此URL以及随后的许多404都有变化。
FPC无效与清洁
目前(默认情况下),FPC的行为是清除更改后的缓存,而不仅仅是使缓存条目无效。我们编写了一个扩展程序来更改此行为,以使EE商店完全满足您的要求。
这是一个快速补丁,可让您了解如何解决问题。
app/code/core/Enterprise/PageCache/etc/config.xml
index 6a56a80..85ebc92 100644
--- app/code/core/Enterprise/PageCache/etc/config.xml
+++ app/code/core/Enterprise/PageCache/etc/config.xml
@@ -139,7 +139,7 @@
<observers>
<enterprise_pagecache>
<class>enterprise_pagecache/observer</class>
- <method>cleanCache</method>
+ <method>invalidateCache</method>
</enterprise_pagecache>
</observers>
</catalogrule_after_apply>
不要运行搜寻器
如果您的足迹足够不错-我们不建议您运行抓取工具,它会产生不必要的负载。浏览该站点的人员/漫游器/爬网程序应保持启动状态。
但是要回答您的问题,如果您查看上述配置文件-您会看到为爬网浏览窗口定义的cron计划。
如果您负担得起过时的内容
最后,如果您有足够的钱 RAM。您可以从增加FPC中存储的内容的TTL中受益,从而使缓存的数据保持更长时间的活动。
在<full_page_cache>
您./app/etc/local.xml
刚刚定义的标签中
<lifetimelimit>86400</lifetimelimit>
寿命以秒为单位定义。您需要在内容的新鲜度,性能和实际可用的存储空间之间取得平衡。
为什么在EE中使用第三方缓存扩展
您为FPC支付了溢价-我很难说,这非常好。那么,为什么要在顶部运行第三方替代方案呢?去掉它。
这样说。如果您的汽车行驶不佳-您是否会在后备箱中添加另一个引擎来进行补偿?还是只是已经修理好引擎了?