首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Django管理员正在非常缓慢地加载页面。

Django管理员正在非常缓慢地加载页面。
EN

Stack Overflow用户
提问于 2015-01-26 07:13:16
回答 2查看 1.8K关注 0票数 0

我已经在服务器上运行了django套装的django应用程序,加载管理的每个页面(列表和编辑视图)需要花费大量时间。表的列表视图有1条记录,没有外键,也没有可调用项,该表的列表视图需要6-8秒,而分页到50个元素的表的列表视图则需要25-30秒。

我检查了已执行的SQL,认为日志模块具有以下配置,而且它们似乎没有问题,所有SQL的总时间约为2/4。数据库是postgresql。

代码语言:javascript
运行
复制
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'file': {
            'level': 'DEBUG',
            'class': 'logging.FileHandler',
            'filename': '/opt/django/myproj/log/debug.log',
        },
    },
    'loggers': {
        'django.db.backends': {
            'handlers': ['file'],
            'level': 'DEBUG',
            'propagate': True,
        },
    },
}

我还试图禁用USE_I18N,并将@never_cache从管理员中删除,以防万一,但没有什么改变。

有人对我的服务器可能发生了什么有什么建议吗?

谢谢!

我的上下文处理器:

代码语言:javascript
运行
复制
from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS as TCP
TEMPLATE_CONTEXT_PROCESSORS = TCP + (
    'django.core.context_processors.request',
    'django.core.context_processors.i18n'
)
EN

回答 2

Stack Overflow用户

发布于 2015-01-26 07:28:23

我预计SQL的总时间将是,远,不到1秒。如果不是,是否有大量的SQL查询?对于您所描述的管理视图,您应该只查看少于10个SQL查询。

SQL查询的数量可能会产生很大的影响,因为Django必须构造它们并构建结果集,而这一次没有包含在为SQL查询提供的时间中。

您应该添加django-debug-工具栏,看看这是否提供了一些线索。

其他缓慢的来源:

  • 速度慢的上下文处理器(例如,执行大量DB查询),并执行这些处理器是因为它们处于全局TEMPLATE_CONTEXT_PROCESSORS设置中。一个解决方案是删除它们,只将它们添加到需要它们的视图中,或者使用懒惰,这样除非需要,否则它们实际上不会得到评估。
  • 正在添加到HTML页面头上并正在缓慢加载的内容。使用浏览器网络调试器检查
  • 服务器端的其他东西。使用Python分析计算出时间在哪里度过。
票数 3
EN

Stack Overflow用户

发布于 2015-01-28 07:11:04

最后,问题是一个进程运行在服务器上,消耗了98%的CPU。所以和django无关,只是为了防止这对任何人有帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28145991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档