django优化cache_page与template.loaders.cached.Loader

时间:2018-10-09 00:01:47

标签: python django caching

测试了一些Django优化,并且在cache_pagetemplate cached.Loader之间产生了一些意外的结果。我期望cache_page的性能更高,因为它是直接缓存查找,而不是经过整个模板层。但是我一定会误解一些基本知识,因为始终如一的缓存。Loader会产生更好的结果。

我的测试用例:

  1. 加载带有多个包含模板的简单HTML页面。
  2. 使用Django 1.10
  3. 将redis用作默认缓存
  4. 使用ab加载n=1000c=20的测试

在settings.py中启用cached.Loader

'loaders':[('django.template.loaders.cached.Loader', [
            'django.template.loaders.filesystem.Loader',
            'django.template.loaders.app_directories.Loader',
        ]),
]

为此装饰器启用了cache_page

@cache_page(60 * 15)
def home(request):
    return render(request, "index2.html",{"static_path":static('myapp/')})

我评论并独立打开每个缓存策略。始终看起来像:

  • loaders.cached.Loader:每秒约90个请求
  • @cache_page:每秒约60个请求

为什么我看到cached.Loader策略比cache_page有了如此惊人的收益(约30%)?

0 个答案:

没有答案