了解 Django 视图的基准
Understanding benchmark of a Django view
我正在尝试测量查询我的一个 Django 视图所花费的时间。它基本上是用不同的 LIMIT 子句(sqlite)做一个 SELECT 。下面是我获取的时间,先直接调用view函数,然后用urllib作为GET请求调用。
LIMIT view(s.) request(s.)
25 4.5 12.6
100 1.6 2.1
400 3.5 3.3
800 4.4 4.7
1600 7.6 8.4
...
为什么第一个时间这么高?是否有一些明显的原因,比如我无法禁用的某些缓存,或者数据库访问固有的原因?
我没有使用 cache_page
,我尝试全面禁用缓存,遵循我在网上找到的一些建议:
settings.CACHE_BACKEND = 'dummy:///'
settings.CACHES = {'default': {'BACKEND': 'django.core.cache.backends.dummy.DummyCache',}}
如果我不重新启动服务器并运行再次测试,12s(第一次请求调用)会按预期变为 1s,但 4.5s(第一次查看调用)保持不变。
我正在尝试测量查询我的一个 Django 视图所花费的时间。它基本上是用不同的 LIMIT 子句(sqlite)做一个 SELECT 。下面是我获取的时间,先直接调用view函数,然后用urllib作为GET请求调用。
LIMIT view(s.) request(s.)
25 4.5 12.6
100 1.6 2.1
400 3.5 3.3
800 4.4 4.7
1600 7.6 8.4
...
为什么第一个时间这么高?是否有一些明显的原因,比如我无法禁用的某些缓存,或者数据库访问固有的原因?
我没有使用 cache_page
,我尝试全面禁用缓存,遵循我在网上找到的一些建议:
settings.CACHE_BACKEND = 'dummy:///'
settings.CACHES = {'default': {'BACKEND': 'django.core.cache.backends.dummy.DummyCache',}}
如果我不重新启动服务器并运行再次测试,12s(第一次请求调用)会按预期变为 1s,但 4.5s(第一次查看调用)保持不变。