В 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);
Он работает, но индексная страница с большим количеством товаров работает очень медленно, когда она не кэширована. Таким образом, каждый пользователь видит эту медленную страницу во время перезагрузки.
Есть ли решение этой проблемы? Можно ли перед сбросом перезагрузить страницу?