|
|
1
71
试试 Django Debug Toolbar . 它将向您显示在每一页上执行的查询以及它们所花费的时间。它是一个非常有用、强大且易于使用的工具。 此外,还可以阅读有关django性能的建议 Database access optimization 来自文档。 和 Django performance tips 通过 雅各布·卡普兰·莫斯。 |
|
|
2
28
只需在Google上输入“django profileing”,就可以获得这些链接(以及更多): http://code.djangoproject.com/wiki/ProfilingDjango http://code.google.com/p/django-profiling/ http://www.rkblog.rk.edu.pl/w/p/django-profiling-hotshot-and-kcachegrind/ 我个人使用的是中间件方法,即每个用户都可以切换存储在会话中的“分析”标志,如果我的分析中间件注意到标志已经设置,它将使用python的 hotshot 模块如下:
编辑:用于分析SQL查询 http://github.com/robhudson/django-debug-toolbar Konstantin提到的是一件很好的事情-但是如果你的查询速度真的很慢(可能是因为有成百上千的查询),那么你将等待一段疯狂的时间,直到它被加载到浏览器中-然后由于速度慢,很难浏览。此外,Django调试工具栏的设计无法提供对Ajax请求内部的有用洞察。 编辑2: django-extensions 内置了一个很好的分析命令: https://github.com/django-extensions/django-extensions/blob/master/docs/runprofileserver.rst 就这么做,瞧:
|
|
|
3
15
对于分析数据访问(这是大多数时间的瓶颈所在),请查看 django live profiler 。与Django Debug工具栏不同,它同时收集所有请求的数据,您可以在生产环境中运行它,而无需过多的性能开销或暴露您的应用程序内部。 签出 django-live-profiler . 与Django Debug工具栏不同,它同时收集所有请求的数据,您可以在生产环境中运行它,而不需要过多的性能开销或暴露应用程序内部。
|
|
|
4
12
不知羞耻的插在这里,但我最近做了 https://github.com/django-silk/silk 为此目的。它有点类似于Django工具栏,但具有历史记录、代码分析和对所有内容的更细粒度控制。 |
|
|
5
5
对于所有的Kcachegrind球迷来说,我发现很容易将外壳与Django的精彩测试结合起来使用。
例如,要分析运行缓慢的特定视图,可以打开外壳并键入以下代码:
为了可视化结果日志,我使用了hotshot2cachegrind: 但也有其他选择: |
|
6
2
当视图不是HTML时,例如JSON,使用简单的中间件方法进行分析。 以下是几个例子: https://gist.github.com/1229685 -捕获所有进入视图的SQL调用 https://gist.github.com/1229681 -分析用于创建视图的所有方法调用 |
|
|
Patrick Bond · 如何将模型中的函数结果添加到列表中? 1 年前 |
|
|
bur · 每次从模板调用方法都会查询数据库吗? 1 年前 |
|
|
Stefan · 在子目录中设置Django 1 年前 |
|
|
vale383 · 如何在Django端点中查找user_id 1 年前 |
|
|
Kovy Jacob · Django在动态URL段中添加斜线 1 年前 |
|
|
user987 · 如何在Django中访问提交的表单请求数据 1 年前 |
|
|
user24242514 · 将嵌套查询字符串请求转换为字典 1 年前 |