[英]Varnish (Turpentine): Reload page before flushing in Magento
在Magento 1.8中,Varnish确实非常快。 问题是刷新缓存中的页面。
例如:如果索引页上的某些内容已更改,则我使用以下命令进行刷新:
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);
它正在工作,但是包含许多产品的索引页在未缓存时确实非常慢。 因此,每个用户在重新加载过程中都会看到此缓慢的页面。
这个问题有什么解决办法吗? 是否可以在刷新页面之前重新加载页面?
您需要实现宽限模式 (重新验证时也称为过期)。
在您的情况下,这将允许Varnish在发出刷新请求后提供索引页的陈旧副本。
宽限模式是一种减轻线程堆积的功能,允许Varnish在后端无法执行请求时继续处理请求。
...或慢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.