测试了一些Django优化,并且在cache_page与template cached.Loader之间产生了一些意外的结果。我期望cache_page
的性能更高,因为它是直接缓存查找,而不是经过整个模板层。但是我一定会误解一些基本知识,因为始终如一的缓存。Loader会产生更好的结果。
我的测试用例:
n=1000
,c=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%)?