Django 开发服务器中的第一个请求非常慢

Very slow first request in Django Development server

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

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

非常感谢。

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

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

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

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

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

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