Fre*_*abe 9 python wsgi flask uwsgi
我编写了一个简单的WSGI应用程序(使用Flask),该应用程序由uWSGI(即除uWSGI之外没有其他HTTP服务器)提供服务,该应用程序仅支持单个PUT路由,客户端可以使用该路由上传文件(可能约为400MB),并在服务器上进行处理然后寄回。
在一段时间后,在uWSGI日志中,我注意到两种超时错误。通常,发送响应时会超时:
Feb 02 20:46:30 myserv uwsgi[18948]: uwsgi_response_sendfile_do() TIMEOUT !!!
Feb 02 20:46:30 myserv uwsgi[18948]: OSError: write error
Feb 02 20:46:30 myserv uwsgi[18948]: [pid: 18954|app: 0|req: 1795/3935] aa.bb.cc.dd () {32 vars in 455 bytes} [Fri Feb 2 20:46:06 2018] PUT /sample.exe => generated 0 bytes in 24314 msecs via sendfile() (HTTP/1.1 200) 6 headers in 258 bytes (3353 switches on core 0)
Run Code Online (Sandbox Code Playgroud)
不过有时候,在接收到PUT请求时也会超时:
Feb 03 20:18:32 signserv uwsgi[18948]: [pid: 18953|app: 0|req: 2975/5670] aa.bb.cc.dd () {32 vars in 455 bytes} [Sat Feb 3 20:18:02 2018] PUT /samplefile.exe => generated 0 bytes in 29499 msecs via sendfile() (HTTP/1.1 200) 6 headers in 258 bytes (2930 switches on core 0)
Feb 03 20:20:30 signserv uwsgi[18948]: [uwsgi-body-read] Timeout reading 16384 bytes. Content-Length: 354414781 consumed: 0 left: 354414781
Run Code Online (Sandbox Code Playgroud)
一些调试表明,这通常发生在非常慢的客户端(即具有高负载的客户端)上。
我想通过增加一些超时来减轻这种情况,但是uWSGI似乎支持过多的超时,我不清楚在这里哪些与它们有关。我确定了三个超时时间,听起来好像我想增加超时时间,但是我很难找到有关它们之间的区别的文档:
socket-timeouthttp-timeoutharakiri任何人都可以阐明这些超时会影响什么,它们的默认值是什么以及应该调整其中哪些(如果有的话)以避免上述问题?
| 归档时间: |
|
| 查看次数: |
1506 次 |
| 最近记录: |