django-silk django性能测试工具
django-silk
-
pip install django-silk
-
配置 setting.py
INSTALLED_APPS = (
...
'silk'
)
MIDDLEWARE = [
...
'silk.middleware.SilkyMiddleware',
...
]
-
url.py
urlpatterns += [url(r'^silk/', include('silk.urls', namespace='silk'))]
-
生成silk用的相关数据库表
python manage.py makemigrations
python manage.py migrate
python manage.py collectstatic
PS: 如果settings.py中没有配置过STATIC_ROOT,在执行“python manage.py collectstatic”的时候,有可能会报错,提示缺少STATIC_ROOT配置。加上即可。如:STATIC_ROOT = BASE_DIR -
启动项目:
python manage.py runserver
-
查看性能报告
http://127.0.0.1/silk
-
查看查询的过程哪个环节耗费了多少时间,请进入Profiling,需在setting.py中配置
使用Python的内置cProfile分析器
SILKY_PYTHON_PROFILER = True
生成.prof文件,silk产生的程序跟踪记录,详细记录来执行来哪个文件,哪一行,用了多少时间等信息
SILKY_PYTHON_PROFILER_BINARY = True
.prof文件保存路径
如果没有本设置,prof文件将默认保存在MEDIA_ROOT里
SILKY_PYTHON_PROFILER_RESULT_PATH = os.path.join(BASE_DIR, 'logs')
- 查看profile graph
pip install snakeviz