繁体   English   中英

Django调试工具栏目标?

[英]Django Debug Toolbar Target?

我的网页加载速度非常缓慢,因此我安装了Django Debug Toolbar。 我在这方面还很新,所以我试图弄清楚我能做什么。

我可以看到数据库在205毫秒内执行了264个查询。 看起来有点高。 我很确定我可以通过添加一些索引并编写更好的查询来减少这种情况。 但是我的问题是:应该在这里尝试使用的“好”数字是多少? 通常公认的“足够快”和进一步的优化实际上并不值得。 50毫秒? 20毫秒?

同样在同一页面上,它显示的是2500ms用户CPU。 这对我来说听起来很可怕,但我惊讶的是它比数据库高得多,我认为这是瓶颈。 这是否表明我试图在python代码中而不是在数据库层上做太多事情? 减少SQL查询数量对CPU有帮助吗? (是否在查询之间?)。 同样,我应该瞄准一些众所周知的目标响应时间。

我正在寻找客户的迅速反应。 现在,当我单击四周时,在页面加载之前我会感觉到“怀孕的暂停”。

默认情况下,访问相关模型字段会导致每行每模型一个额外的查询。 查看select_related()prefetch_related() ,这通常可以减少查询的数量并大大提高处理速度。 我认为调试工具栏会向您显示实际查询,如果没有,则在进行任何查询优化之前需要启用sql日志。 一旦将查询数量减少到最少(每个pow没有额外的查询),请查找最慢的查询,并使用EXPLAIN sql语法查看是否正在使用索引,这是另一个可能会变慢的地方,尤其是在大数据上。

通常,数据库是瓶颈,除非您在代码中进行了一些主要的循环。 如果您认为python代码很慢,则需要对其进行分析,否则仅是猜测。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM