Django 性能分析工具 (Django-silk)

每一个优秀的工程师内心都是一个抖M

django-silk 让我们开启自虐之旅 抖m

##安装

pip install django-silk

** 在 settings.py 中添加如下配置:**

# Django >= 1.10
MIDDLEWARE = [
    ...
    'silk.middleware.SilkyMiddleware',
    ...
]

# Django <= 1.9
MIDDLEWARE_CLASSES = (
    ...
    'silk.middleware.SilkyMiddleware',
    ...
)

INSTALLED_APPS = (
    ...
    'silk'
)

配置 urls.py

urlpatterns += [url(r'^silk/', include('silk.urls', namespace='silk'))]

同步数据库

python manage.py makemigrations
python manage.py migrate

访问 jiaxin.im/silk 可以得到网站的一个性能摘要报告

** 配置性能分析 Profiler :**

SILKY_PYTHON_PROFILER = True

这里主要是用的 profile 工具是 python 内建的 cProfile

** 然后给搜索接口配置 profile **

from silk.profiling.profiler import silk_profile

class ProjectSearchView(SearchView):
    template_name   = 'search/search.html'

    @silk_profile(name='Search View')
    def get(self, request, *args, **kwargs):
        return super(ProjectSearchView, self).get(request, *args, **kwargs)

更多的配置可以去 github 查看