代码之家  ›  专栏  ›  技术社区  ›  luntain

django在我的机器上速度很慢

  •  15
  • luntain  · 技术社区  · 17 年前

    我有一个新安装的django 1.0,从中加载一个简单的页面需要5秒。在我同事的电脑上,几乎不用花时间。

    python manage.py testserver
    

    我可以看到每个GET请求(PNG和样式表)大约需要半秒钟。

    这看起来像是IO问题,但我看不到我的机器上存在一般性能问题,至少除了django之外。

    Django在python2.4上运行,我在运行Vista。我还检查了python2.5。

    谢谢,这肯定是一个DNS问题,因为页面加载速度很快 而不是 http://localhost:8000/app 我去 http://127.0.0.1:8000/app .

    127.0.0.1   localhost
    ::1         localhost
    
    12 回复  |  直到 17 年前
        1
  •  18
  •   tzot    17 年前

        2
  •  7
  •   Tyler Brock    13 年前

    这些帖子对我都没有帮助。就我的具体情况来说,, Justin Carmony 给了我答案。

    问题

    解决方案

    实例

    test.local可能会变成:

    • local.test.com
    • 测试。[除了本地以外的任何东西]

    并且您的主机文件条目将为:

    local.test.com  127.0.0.1
    

    注意:此解决方案的另一个好处是作为[hostname].com的子域,这使得为Facebook API等指定应用程序域名变得更加容易。

    dscacheutil -flushcache 在更新/etc/hosts后,在终端中进行良好测量

        3
  •  4
  •   Ty.    17 年前

    ::1         localhost
    

    一旦这种情况消失,您应该能够再次快速地使用localhost。

        4
  •  3
  •   tzot    17 年前

    由于您报告您朋友的计算机没有延迟,并且我假设您的计算机和他的计算机具有可比性,因此这可能是一个与DNS相关的问题。尝试将客户端和服务器的IP地址都添加到服务器的主机文件中。

    如果你在*nix上运行Django,它是 /etc/hosts %WINDIR%\SYSTEM32\DRIVERS\ETC\HOSTS

        5
  •  2
  •   hasen    17 年前

        6
  •  2
  •   Dylan Bauer    16 年前

    我在Vista和Windows7机器上的Firefox上也发现了同样的问题。访问开发服务器127.0.0.1:8000解决了这个问题。

        7
  •  1
  •   klozovin    17 年前

    如果其他一切都失败了,你总是可以 cProfile

        8
  •  1
  •   Albert Sellarès    15 年前

    该应用程序在wsgi和mysql服务器位于同一主机上的生产环境中运行得非常快,但在django runserver选项和远程mysql服务器的开发环境中运行缓慢。

    我注意到使用“ShowProcessList”时,数据库中的连接在用户“unauthenticated user”的“login”状态下,这使我注意到身份验证过程中的问题。

    寻找真正的问题,我终于注意到mysqld试图获取我的ip的dns名称并禁用名称dns解析,我修复了这个问题。

    跳过名称解析

        9
  •  1
  •   Jonatan Littke Yukiup    14 年前

    升级至Django 1.3或更新版本。

    如果你在2012年仍然有这个问题(使用Chrome),请确保你正在升级。在1.3中,a bug

        10
  •  1
  •   THess user1031307    6 年前

    我是这样解决这个问题的:

    setting.py

    DEBUG = False
    
        11
  •  0
  •   seanyboy    17 年前

        12
  •  0
  •   westmark    16 年前

    要完全绕过localhost而不更改hosts文件或Firefox中的任何设置,您可以安装该插件 Redirector 并制定规则,将localhost重定向到127.0.0.1。使用这些设置

    Include pattern : http://localhost*
    Redirect to     : http://127.0.0.1$1
    

    将其他字段留空。

        13
  •  0
  •   Guillaume Gendre    15 年前

    我也有同样的问题。

    • 生产中的静态文件由apache配置提供,而不是由django静态服务提供

    :/

        14
  •  0
  •   Flux    6 年前

    静态文件加载缓慢

    python manage.py runserver ).如 hassen ,该服务器未针对速度进行优化。

    django-extensions runserver_plus 指挥 --threaded 替代Django的选项 runserver

    另见: Making Django development server faster at serving static media

        15
  •  0
  •   Sammy J    5 年前