对 python 开发服务器的请求在到达服务器之前挂起/卡住

问题描述 投票:0回答:1

我正在使用带有 --nothreading 选项的 runserver_plus 在本地运行 Django 服务器。

有时我向任何端点发送请求(来自不同的客户端,例如在 Google Chrome、Django admin 或 Postman 中运行的 React 前端),并且需要很长时间才能响应(通常为 1.5 分钟以上)。我们将第一个请求称为#1。在处理此请求时,如果我打开另一个选项卡并打开任何端点 - 因此,发送请求 #2,服务器会立即响应请求 #2,然后立即响应请求 #1

请求#1的处理直到请求#2的处理完成后才开始执行。

澄清一下:这不是与请求#1相关的视图的问题。我不明白为什么请求处理有一段时间没有开始。这是来自 django 调试工具栏分析的数据。处理本身似乎很快,但这个请求花了 1.5 分钟才开始处理。 Django debug toolbar profiling

Django 4.2、Django 扩展 3.2、DRF 3.15。开发服务器在 docker-compose 中运行。 MacOS 索诺玛 14.4.

python-3.x django google-chrome django-rest-framework
1个回答
0
投票

在我的案例中,Google Chrome 浏览器导致了这个问题。它在某种程度上影响了使用 Google Chrome 后使用 Postman 发送的请求。要测试这是否是问题的原因,请尝试切换到其他浏览器并查看问题是否消失。

我通过禁用 Google Chrome 上的“预加载页面”设置 (chrome://settings/?search=Preload) 修复了 Google Chrome 的此问题。

© www.soinside.com 2019 - 2024. All rights reserved.