从调试结果来看,我可以看到我的网站浏览器时间真的很长。
基本上我为博客表创建了13000个项目。似乎不需要很长时间来进行SQL查询。
The debug result
我的问题是如何从调试结果中识别出瓶颈。为什么它加载如此缓慢,需要近20秒。如何减少domContentLoadedEvent和domloading Time 感谢。
答案 0 :(得分:1)
您需要更精细的工具来分析底层的Python代码,调试工具栏只是在客户端查看事件。
我首先要检查你是否在Django模板中进行了大量的循环 - 通常可以通过将一些工作转移到Python中来显着加快速度。
如果您想了解瓶颈所在的详细信息,可以尝试在视图上运行cProfile。
我修改了一种方法,你可以将cProfile修补到views.py
,以便在Django开发环境中打印出快速而肮脏的分析。根据需要替换文件名,函数和参数:
第1步:将my_view
重命名为my_view_renamed
步骤2:创建运行cProfile的my_view
的新定义(参见代码示例)
第3步:运行开发服务器(manage.py runserver
)并访问访问您视图的网址
import cProfile
import pstats
def my_view(request, arg1)
FILENAME = '/Users/me/Desktop/temp.stats'
cProfile.runctx(
'my_view_renamed(request, arg1)',
globals(),
{'request': request, 'arg1': arg1},
filename=FILENAME,
)
stats = pstats.Stats(FILENAME)
stats.sort_stats('cumulative')
stats.print_stats()
这是一个很好的相关问题,有一些更一般的信息: How can you profile a script?
答案 1 :(得分:0)
以下是使用调试工具栏直接回答您的问题:启用分析面板。
注意:如果您没有字典中的默认面板,则会删除其他面板,如示例所示。
settings.py
DEBUG_TOOLBAR_PANELS = {
'debug_toolbar.panels.profiling.ProfilingPanel',
}