【问题标题】:Django and VarnishDjango 和清漆
【发布时间】:2012-07-20 12:45:36
【问题描述】:

我目前正在django(非常复杂的数据结构)的一个大型网站上工作,原生负载支持极低(4 req / s),这是不可接受的,我被建议使用varnish来加速我的应用程序.现在这就是问题所在,我在整个站点中都使用了 memcache,我可能会添加相当多的内容(几乎每个查询都会被 memcached)。我无法使用中间件,因为网站的某些部分是每个用户动态的。现在我遇到的真正问题是每个用户需要缓存很多页面,如果有 cookie 来回传输它不会缓存页面,我想知道是否有办法为每个用户代理缓存页面,如果这真的很有效,如果不是,那么下一个最好的缓存解决方案可能是允许所述灵活性最大化应用程序性能的下一个最佳缓存解决方案

【问题讨论】:

  • 您在哪台服务器上运行您的应用程序?什么配置?我遇到了类似的问题,对我来说它有助于更​​改 apache mod。
  • 我使用 apache 和 mod_wsgi 和 nginx 来提供静态文件。
  • 如果你已经在使用 nginx,最好的选择是部署 django 是使用 nginx+uwsgi。

标签: django memcached varnish varnish-vcl


【解决方案1】:

Varnish 甚至可以与 cookie 一起使用。

我在这里展示了如何将清漆用于特定路径,看看你是否可以使用它来为你带来好处:


sub vcl_recv {
    if (req.url ~ "^/user1") {
        unset req.http.cookie;
    }
}

sub vcl_fetch {
    if (req.url ~ "^/user1") {
        unset beresp.http.set-cookie;
    }
}

或类似的:

sub vcl_hash {
    if (req.url ~ "^/user1") {
        hash_data(req.http.cookie);
    }
}

【讨论】:

    猜你喜欢
    • 2011-07-31
    • 2011-09-28
    • 1970-01-01
    • 2013-03-21
    • 2011-06-08
    • 2011-08-31
    • 1970-01-01
    • 2013-07-16
    • 2014-03-04
    相关资源
    最近更新 更多