【问题标题】:Varnish (Turpentine): Reload page before flushing in MagentoVarnish(松节油):在 Magento 中刷新之前重新加载页面
【发布时间】:2016-11-14 13:24:19
【问题描述】:

Varnish 在 Magento 1.8 中非常快。 问题是缓存中页面的刷新。

例如: 如果索引页面上的某些内容发生更改,我将使用此命令刷新:

Mage::getModel('turpentine/varnish_admin')->flushUrl("^/$");

然后这个脚本将页面重新加载到缓存中:

$header[0] = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"; 
$header[] = "Accept-Language: de,en-US;q=0.7,en;q=0.3"; 
$header[] = "Cache-Control: max-age=0"; 
$header[] = "Connection: keep-alive"; 
$header[] = "Keep-Alive: 300"; 
$header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7"; 

$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, $url); 
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0'); 
curl_setopt($curl, CURLOPT_HTTPHEADER, $header); 
curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate'); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$html = curl_exec($curl);
curl_close($curl);

它可以工作,但是当没有缓存时,包含很多产品的索引页面真的很慢。所以每个用户在重新加载期间都会看到这个缓慢的页面。

这个问题有什么解决办法吗?是否可以在刷新页面之前重新加载页面?

【问题讨论】:

    标签: php magento caching varnish magento-1.8


    【解决方案1】:

    您需要实现Grace Mode(也就是重新验证时过时)。

    在您的情况下,它会允许 Varnish 在您发出刷新请求后提供索引页面的陈旧副本。

    Grace 模式是一种减少线程堆积的功能,它允许 Varnish 在后端无法处理请求时继续处理请求。

    ...或慢

    【讨论】:

      猜你喜欢
      • 2015-01-10
      • 2013-01-09
      • 2020-04-03
      • 1970-01-01
      • 2019-09-24
      • 2020-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多