【问题标题】:Problems with varnish and apache (trying to improve OpenCart)varnish 和 apache 的问题(试图改进 OpenCart)
【发布时间】:2017-05-18 23:52:05
【问题描述】:

我正在尝试通过警告来提升我的网上商店。 设置varnish端口80,后端为127.0.0.1 apache2。

Apache Benchmark 提供了令人敬畏的结果,例如 1-2 个请求/秒!

在第一个显示的文件上; header.tpl 我有:

<?php
  cache_control( "public, s-max-age=6000");
  expires( to_gmt( time() + 6000 ) );
?>

下面是响应头:

HTTP/1.1 200 OK
Content-Length: 151613
Expires: Tue, 26 Feb 2013 20:04:07
Cache-Control: public, s-max-age=6000
Pragma: no-cache
Set-Cookie: PHPSESSID=i9h5ldj8k4fking69d03jr5244; path=/, language=en; expires=Thu, 28-Mar-2013 18:24:06 GMT; path=/; domain=www.domain.com, currency=CHF; expires=Thu, 28-Mar-2013 18:24:06 GMT; path=/; domain=www.domain.com
Content-Type: text/html; charset=utf-8
Accept-Ranges: bytes
Date: Tue, 26 Feb 2013 18:24:07 GMT
X-Varnish: 186646239
Age: 0
Via: 1.1 varnish
Connection: close
X-Cache: MISS

必须遗漏一些明显的东西,但对我来说清漆不会缓存;我究竟做错了什么 ?

【问题讨论】:

  • 如果您收听未缓存的 PHP 响应,Pragma: no-cache 是否也存在?
  • 相信我我已经尝试过了,它不可能改进 opencart。也很大程度上取决于开发人员,但我实际上会选择 magento 或其他东西。

标签: apache caching varnish


【解决方案1】:

PHP 很可能将 session.cache-limiter 设置为 nocache(默认值)。

这将向 Varnish 发送一个 Pragma: no-cache(据我所知,一个 Expire 标头设置为当前时间),从而禁用缓存。

【讨论】:

  • 好的;我把'session_cache_limiter('public');'第一行;仍然得到无缓存
  • 更改了 php.ini;现在 pragma:nocache 不见了,现在是公开的;但性能仍然很差,没有任何改善。
  • 也许是:Age:0 ?
  • @Disco 不,Age: 0 表示它还没有被缓存,这意味着 Varnish 说它的服务页面已经被缓存了 0 秒。
  • 好的,似乎完全不能在 opencart 中使用 varnish,因为它在每个页面上启动会话; stackoverflow.com/questions/7766729/…
【解决方案2】:

Varnish 默认会忽略 « Pragma : no-cache »,除非它是处理指令的指令 (https://varnish-cache.org/docs/4.0/users-guide/increasing-your-hitrate.html)。

您的缓存控制似乎配置正确,应该缓存 6000 秒。 接下来需要考虑的是 cookie。查看您的标题,您有一个 PHP 会话 Cookie:

Set-Cookie: PHPSESSID=i9h5ldj8k4fking69d03jr5244;

Varnish 不会缓存 cookie,除非你在你的 vcl 文件中删除它。例如:

sub vcl_recv {
  set req.http.Cookie = regsuball(req.http.Cookie, "PHPSESSID =[^;]+(; )?", "");
}

【讨论】:

    猜你喜欢
    • 2014-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-07
    • 1970-01-01
    • 2015-04-17
    • 2015-03-25
    • 1970-01-01
    相关资源
    最近更新 更多