【问题标题】:Very slow first request in Django Development serverDjango开发服务器中的第一个请求非常慢
【发布时间】:2015-03-09 01:52:54
【问题描述】:

每当我运行 python manage.py runserver 并在浏览器中使用 localhost:8000 访问我的网站时,第一个请求非常慢(大约 10 秒)。

以下请求非常快。 有什么办法可以提高它的性能吗? 这很不方便,因为在开发过程中,由于代码更新,它总是重新加载。

非常感谢。

【问题讨论】:

  • 如果您改为打开127.0.0.1:8000 会怎样?有什么区别吗?
  • 不,还是很慢..

标签: django django-dev-server


【解决方案1】:

如果您在0.0.0.0 而不是127.0.0.1 上启动runserver,您将遇到此类问题,因为它必须解决一些奇怪的路由接口循环。

【讨论】:

  • 谢谢!这在 macOS 上为我解决了这个问题,并为我节省了大量等待时间
【解决方案2】:

这种情况会发生在空的 Django 项目(新生成的)还是仅针对您的特定站点?

如果没有更具体的信息,很难说出原因。

第一个请求很可能会延迟初始化一些数据。它可以例如调用外部网站以获取数据并且由于 DNS 错误或 Internet 连接速度慢而速度很慢。或者,缓存是空的,它们会在 Django 开发服务器启动时重新填充。

【讨论】:

  • 仅限特定项目,非常感谢您的回答。你知道我该如何调试吗?
  • 首先尝试 Django 调试工具栏github.com/django-debug-toolbar/django-debug-toolbar
  • 找到了,将数据发送到远程监控服务的中间件。解决方案是只在生产服务器上激活它,而不是在开发服务器上!
【解决方案3】:

使用django-debug-toolbar,django-debug-toolbar 是一个非常方便的工具,可以深入了解您的代码正在做什么以及花费了多少时间。特别是它可以向您显示您的页面正在生成的所有 SQL 查询,以及每个查询所用的时间。

【讨论】:

    【解决方案4】:

    找到了,将数据发送到远程监控服务的中间件。解决方案是只在生产服务器上激活它,而不是在开发服务器上!

    【讨论】:

    • 它是什么中间件?你是怎么想出来的?
    • 那不应该被接受为答案,这里没有答案。它只是让你发现了一些东西并禁用了它,你甚至没有提到你是如何调试它或中间件是什么。
    • 那有什么解决办法?
    猜你喜欢
    • 2018-03-22
    • 1970-01-01
    • 2010-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多