【问题标题】:nginx cache, staticgenerator vs memcachednginx 缓存,staticgenerator 与 memcached
【发布时间】:2012-08-30 21:36:19
【问题描述】:

我正在做的是避免请求命中 Django 并直接从 nginx 提供缓存数据。
相关问题:Django staticgenerator vs CACHE_BACKEND

说到这个,似乎有两种选择:
https://github.com/torchbox/django-nginx-memcache
https://github.com/mrj0/staticgenerator - 这个似乎更容易使用

在尝试了 django-nginx-memcache 之后,我发现了一些缺点:

  • 没有从 django 提供缓存内容的回退(可以修复)。
  • nginx 必须重新编译以生成 url 的 md5 总和(我认为这无法修复)。
  • 如果能够定义应缓存的 url 模式列表,那就太好了。到目前为止,只有装饰器可用(可以修复)。
  • 在我看来,代码应该更多地模仿标准的 django 缓存后端,使用 UpdateCacheMiddlewareFetchFromCacheMiddleware。这将使存在标准 django 缓存解决方案的地方更容易实现 nginx 缓存。它还可以解决问题 #1(可以修复)。
  • 模块的奇怪命名。虽然项目名为 django-nginx-memcache,但包名为 Django-Memcache-for-Nginx,应用程序名为 nginx_memcache 以包含在django installed_apps(可以修复)。

哪个更快?
您会使用哪一个?为什么?
我应该解决 django-nginx-memcache 的问题还是 staticgenerator 更好?

【问题讨论】:

    标签: django caching nginx memcached


    【解决方案1】:

    这似乎回答了我所有的问题,并提供了一个比 django-nginx-memcache 更优雅的解决方案,即修补 django 缓存系统:http://www.willmcgugan.com/blog/tech/2009/3/1/fast-caching-with-django-and-nginx/

    来自页面评论的基准:

    静态内容几乎比使用 nginx 从 memcache 提供服务快 4 倍。

    请求速率:6243.8 req/s (0.2 ms/req)(静态 html)

    请求速率:2285.5 req/s (0.4 ms/req)(内存缓存中的相同 html)

    我想我会选择 staticgenerator,但请随时发表您的想法。

    编辑:

    我意识到我正在并行运行两个网络服务器,如果我使用 staticgenerator,我需要一种方法来同步缓存的数据。我想我可以分叉它并让它通过网络在两台服务器上写入文件。对此有什么想法吗?

    【讨论】:

      【解决方案2】:

      您似乎想缓存生成的页面。您是否尝试过清漆(https://www.varnish-cache.org/)。

      以前我正在研究 Django 的缓存,我发现这篇文章是关于使用 Varnish 缓存来缓存生成的页面。 http://ghughes.com/blog/2011/11/11/using-varnish-with-django-for-high-performance-caching/

      也许它对你有用。

      【讨论】:

      • 我确实尝试过清漆,我喜欢它,谢谢。我正在研究其他解决方案。将 nginx 与 memcached 或生成的静态文件结合使用不会提供比 varnish 更好的性能,但它会给我更多的灵活性并消除必须配置两个不同服务器的开销。
      【解决方案3】:

      本着保持简单的精神,在 Nginx 的代理模块中使用缓存指令怎么样?

      类似于https://serverfault.com/a/68160/46143http://www.rfxn.com/nginx-caching-proxy/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-06
        • 1970-01-01
        • 1970-01-01
        • 2010-11-22
        • 1970-01-01
        • 2010-10-11
        • 1970-01-01
        • 2011-03-05
        相关资源
        最近更新 更多