1
linbiaye 2017-01-28 08:48:19 +08:00
这是对方异常关闭连接导致的。
|
2
rffan OP @linbiaye 知道,因为超时了。超时才会产生异常关闭连接。。。 TMD 关键是为何跑 2-3 次, Flask 就会出现这种超时的现象。
|
3
linbiaye 2017-01-28 08:52:28 +08:00
那是要你自己找为啥你的应用会超时。或者把 ng 超时时间设长些。
|
5
swulling 2017-01-28 09:17:39 +08:00 via iPhone
改成多进程的,有参数配置
|
7
wwqgtxx 2017-01-28 09:29:26 +08:00 via iPhone
你要不自己写个小 test 程序反复调用你的 @route 方法,不经过 flask 调用,然后统计统计你自己的业务函数的执行速度是不是衰减严重,最后再去找 flask 的问题
|
8
gouchaoer 2017-01-28 09:34:46 +08:00 via Android
@rffan py 的多线程是假多线程,可能有问题。。。弄成多进程的话,执行就和 php 方式类似了,不过 php 的 php-fpm 要成熟很多, gunicorn 之类的不好说
|
11
pimin 2017-01-28 10:27:23 +08:00 via Android
不都是用 WSGI 么?
还是我理解错了? |
12
pimin 2017-01-28 10:32:48 +08:00 via Android
好吧,看到 uuWSGI 也出问题了
感觉 flask 本身的问题可能比较小, flask 毕竟还是有不少生产环境部署的。 |
13
rffan OP @pimin 恩。所以我在怀疑。谷歌了有人说是没有清空缓冲区造成的。。 Python 社区有这个问题提了。而且已经关闭了。。于是想到了换版本。生产环境,我看了豆瓣的书。他们都是同时启用多后端,用 ip_hash 来反代,这样的效果就是多多多线程加多多多进程。基本上不会出现这种问题吧。
|
14
fy 2017-01-28 10:58:56 +08:00
@rffan 多线程是真的,但字节码不能并行执行( GIL )。所以多线程只对 IO 等待有效,像爬虫这种程序不受影响, http 一半一半。一般来说建议多进程。
|
15
yh7gdiaYW 2017-01-30 08:37:21 +08:00 via Android
自带的是有这个毛病,我一直是用 gunicorn + gevent 跑,效果拔群
|
16
yanzixuan 2017-02-06 15:24:02 +08:00
以前遇到过类似的,但是是 gunicorn 的版本不够新。更新后就再也没出现过。
|