将django的CPU占用时间从31353.191毫秒减少

时间:2018-10-15 09:10:55

标签: django performance django-debug-toolbar

根据django-debug-toolbar,我的CPU时间约为31000毫秒(平均)。对于我自己的页面以及管理员来说都是如此。这是加载http://127.0.0.1:8000/admin/时的细分:

资源使用情况

User CPU time          500.219 msec
System CPU time        57.526 msec
Total CPU time         557.745 msec
Elapsed time           30236.380 msec
Context switches       11 voluntary, 1345 involuntary

浏览器时间(定时属性/自导航开始以来的毫秒数(+长度))

domainLookup            2 (+0)
connect                 2 (+0)
request                 7 (+30259)
response                30263 (+3)
domLoading              30279 (+1737)
domInteractive          31154
domContentLoadedEvent   31155 (+127)
loadEvent               32016 (+10) 

据我了解,“请求”步骤[7(+30259)]是这里的最大瓶颈。但是那告诉我什么呢?请求面板仅显示一些变量,而没有GET或POST数据。

相同的代码可以在pythonanywhere上很好地托管,在本地运行MacBook Air(i5、1.3 Ghz,8GB RAM)。性能并非一直如此差。 IIRC发生在“整夜”。有一天,我启动了开发服务器,但速度很慢。没有更改代码或数据库中的任何内容。

假设这可能是我的本地计算机有问题吗?

编辑: 我尝试运行./manage.py runserver --noreload,但性能没有提高。另外,启动开发服务器(使用./manage.py runserver)也需要大约40秒钟,而使用postico访问数据库大约需要1分钟。在从django的设置中注释掉数据库的同时启动dev-server,使加载时间正常。

1 个答案:

答案 0 :(得分:0)

解决了。 This个帖子为我指明了正确的方向。本质上,我根据this的帖子最终“重置”了主机文件。我的主机文件现在看起来像这样:

127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost

但是,没有首先解释导致突然的“过夜”问题的原因。我的猜测:重命名了主机名。几天前,我的主机名听起来像android-(类似于this),这显然是由我使用Android的文件共享工具引起的。最终将我的主机名重命名为我的用户名(请参阅下面的说明)。

  

执行以下任务以使用以下命令更改工作站主机名   scutil命令。打开一个终端。键入以下命令   更改Mac的主要主机名:这是完全合格的   主机名,例如myMac.domain.com sudo scutil --set主机名类型   以下命令更改Mac的Bonjour主机名:   是可在本地网络上使用的名称,例如myMac.local。须藤   scutil --set LocalHostName可选:如果您还想更改   计算机名称,键入以下命令:这是用户友好的   您在Finder中看到的计算机名称,例如myMac。须藤scutil --set   ComputerName通过键入以下命令来刷新DNS缓存:dscacheutil -flushcache   重新启动Mac。

来自here

但是,没有测试“重命名主机名”理论。