gpt4 book ai didi

Magento 缓存预热

转载 作者:行者123 更新时间:2023-12-02 05:03:08 27 4
gpt4 key购买 nike

我和我的团队正在 Magento 企业版上快速推出新商店和 View ,但我们遇到了缓存问题。需要明确的是,缓存部分本身工作得很好。我们有几个复杂的产品,需要大约 17 秒来构建,但在缓存页面后加载时间为 300 毫秒,这太棒了!不幸的是,如果我们在任何严重负载(高流量)下清除缓存,我们似乎正在经历缓存未命中 Storm ,其中每个页面请求都试图填充缓存,导致我们的 webhead 在平均负载超过 50 时停止。

您对避免这种情况有什么建议吗?是否有记录的最佳实践来为新代码部署或什至只是内容和配置更改预热缓存?

这可能是相关的,所以我将其包括在内:在单击按钮刷新缓存之后和刷新过程完成之前,前端的大多数页面都会死掉,并出现 500 个错误代码和看似随机的错误消息。知道是什么原因造成的吗?

最佳答案

我实现了一个解决方案来在保存 CMS block 后预热缓存。您可能会受到此解决方案的启发,针对不同的情况(产品保存、CMS block 、CMS 页面、类别保存等)执行相同的操作

这段代码可以在 CMS block 保存后使用观察者 cms_block_save_after 触发:

/**
* Clean targeted cache block and warmup if content is provided
*/
public function clearBlockHtmlCache(Varien_Event_Observer $observer)
{

$block = $observer->getEvent()->getObject();

$id = $block->getCacheKey();

// Remove only specific cache block
Mage::app()->getCacheInstance()->getFrontend()->remove(strtoupper($id));

// no print, it's ok just warmup cache with filters processing
$block->toHtml();
}

关于Magento 缓存预热,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14362263/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com