相关疑难解决方法(0)

Nginx 正在向 uWSGI 发出非常旧的请求?

我看到一种奇怪的情况,Nginx 或 uwsgi 似乎正在建立一个很长的传入请求队列,并在客户端连接超时后很长时间内尝试处理它们。我想理解并停止这种行为。以下是更多信息:

我的设置

我的服务器使用 Nginx 通过 Unix 文件套接字将 HTTPS POST 请求传递给 uWSGI 和 Flask。我基本上对所有内容都有默认配置。

我有一个 Python 客户端每秒向该服务器发送 3 个请求。

问题

运行客户端大约 4 小时后,客户端计算机开始报告所有连接超时。(它使用具有 7 秒超时的 Python 请求库。)大约 10 分钟后,行为发生了变化:连接开始失败,并显示 502 Bad Gateway。

我关闭了客户端。但是在关闭客户端电源后大约 10 分钟,服务器端 uWSGI 日志显示 uWSGI 尝试应答来自该客户端的请求!并top显示 uWSGI 使用 100% CPU(每个工作线程 25%)。

在这 10 分钟内,每个uwsgi.log条目都是这样的:

Thu May 25 07:36:37 2017 - SIGPIPE: writing to a closed pipe/socket/fd (probably the client disconnected) on request /api/polldata (ip 98.210.18.212) !!! Thu May 25 07:36:37 2017 …

nginx unix-socket flask uwsgi

5
推荐指数
1
解决办法
1543
查看次数

标签 统计

flask ×1

nginx ×1

unix-socket ×1

uwsgi ×1