Spo*_*k16 3 django performance nginx django-debug-toolbar
我实际上是在一个Django网站上工作,使用django调试工具栏,在数字海洋小dropplet.这一切都适用于Postgresql,Django,gunicorn和Nginx.
让我烦恼的是,渲染时间约为2.5秒,而且大部分时间都与用户CPU时间有关.
Resource Value
User CPU time 2271.395 msec
System CPU time 86.142 msec
Total CPU time 2357.537 msec
Elapsed time 2483.655 msec
Context switches 8 voluntary, 469 involuntary
Browser Chronology
domainLookup 0 (+0)
connect 0 (+0)
request 3 (+-1419272753107)
response 5653 (+-1419272758757)
domLoading 5669 (+-1419272758773)
domInteractive -1419272753104
domContentLoadedEvent -1419272753104 (+0)
loadEvent -1419272753104 (+0)
Run Code Online (Sandbox Code Playgroud)
所以,我想提高速度,我设置了一个快速的数字海洋液滴(最大的一个),时间看起来一样.据我所知,最大的Droplet主要意味着更多的CPU核心,因此,更多的同时请求.
但问题是那两个:
我有几乎相同的场景(数字海洋上的小水滴,Postgres,uWSGI ......),然后突破我的脑袋,发现为什么CPU时间在一个简单的页面上约为700毫秒,在更复杂的页面上约为3秒,如Django Debug所示工具栏.但后来我发现调试工具栏本身正在使用大部分时间.当我关闭它并放置另一个探测器(http://djangosnippets.org/snippets/727/上的中间件)时,我看到这些时间下降到~200ms和~800ms.
所以回答你的问题:
检查Chris Pratt关于Django调试工具栏的答案:了解时间面板
没有唯一的配方可以减少CPU时间.您必须分析您的配置文件输出以发现cpu的使用位置.
我从Yugal Jindle的答案得到了配置文件中间件: 如何在执行时间方面描述django应用程序?.使用HotShot检查其他配置文件选项.
| 归档时间: |
|
| 查看次数: |
3335 次 |
| 最近记录: |