python - Django项目很慢

标签 python django performance

我的 Django 项目有问题。 目前我正在使用 Django 1.6、Python 3.3.3 sorl-thumbnail 12.0,一切都非常慢。在过去的三天里我一直在尝试改变它,但我尝试过的一切都产生了非常小的影响。以下是 django-debug-toolbar 中的数字:

User CPU time - 1976.123 msec
System CPU time - 176.011 msec
Total CPU time - 2152.134 msec
Elapsed time - 3671.669 msec

SQL - 25.95 ms (62 queries)
CACHE - 76 in 7.409811019897461 ms
Haystack query - 0.031ms

执行 View 中的代码所需的时间是0.04816937446594238。结果计算如下:

import time
...
def base(request):
    start_time = time.time()
    #do something
    end_time = time.time()
    print(end_time - start_time)
    return render(request, 'service/service.html', { 'services': services })

您能给我一些建议吗?数据库、静态文件、媒体文件和elasticsearch安装在我的本地计算机上。 DEBUG 标志为 True。

编辑1:根据Tommaso的回答,我测量了模板渲染所需的时间,结果很糟糕 - 3407.9毫秒(使用template_timings_panel作为django_debug_toolbar)。另外,当我用 ab 进行测试时,在同一页面上,时间与上面的数字相比并没有太大差异。正常吗?我可以做些什么来优化它?

最佳答案

  1. 在生产服务器上,静态文件将由 nginx(或类似的)提供服务。
  2. 通过 SORL 的缩略图也会针对每个图像/大小更新一次,然后由 nginx 提供服务
  3. 您将通过内存缓存缓存 View /计算
  4. 每次 session 启动时,您的代码只会编译一次,其他调用会更快。

关于python - Django项目很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25446380/

相关文章:

python - Cherrypy:多处理

mysql - django 1.5 多重连接

python - Django : SyntaxError 'unexpected EOF' while saving a Form

python - 有什么办法可以对本地 Appengine 开发服务器实现 30 秒限制?

performance - 将 Arduino 代码分解成函数会占用更多空间/资源吗?

python - Dlib 裁剪后的图像是蓝色的

python - 使用python以指定格式绘制大数据

mysql - mysql 中基于键的分区可容纳数百万行

javascript - 性能方面——canvas vs base URI vs image

Python 将 .py 部分文件合并为一个 .py 文件