Python 为什么向gunicorn添加“flask\u sockets.worker”会降低gRPC客户端连接速度?

Python 为什么向gunicorn添加“flask\u sockets.worker”会降低gRPC客户端连接速度?,python,flask,gunicorn,grpc,grpc-python,Python,Flask,Gunicorn,Grpc,Grpc Python,我正在构建一个连接到后台gRPC服务的flask服务器。我计划使用gunicorn为flask应用程序提供服务。添加一个flask\u sockets.worker正在严重减慢速度 下面是一个最低限度的工作示例 import grpc

我正在构建一个连接到后台gRPC服务的flask服务器。我计划使用gunicorn为flask应用程序提供服务。添加一个
flask\u sockets.worker
正在严重减慢速度

下面是一个最低限度的工作示例

import grpc                                                                                                                                                            
from flask import Flask, render_template
app = Flask(__name__)

@app.route('/')
def index():
    data = b"Hello, World!\n"

    channel = grpc.insecure_channel('{0}:{1}'.format('localhost', 40051))
    try:
        grpc.channel_ready_future(channel).result(timeout=1)
        data += b"\nChannel ready"
    except grpc.FutureTimeoutError:
        data += b"\nChannel not ready"
    return data

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8000)
如果我使用

gunicorn -w 4 mwe:app -b :8000
一切似乎都很好。但是如果我用

gunicorn -w 4 mwe:app -b :8000 -k flask_sockets.worker
加载页面需要很长时间。我需要使用
flash\u插座
来实现一些附加功能。我终于明白了

[CRITICAL] WORKER TIMEOUT (pid:17489)
[WARNING] Worker graceful timeout (pid:17489)
页面加载完毕!我如何解决这个问题? 我的环境

Click==7.0
Flask==1.1.1
Flask-Sockets==0.2.1
gevent==1.4.0
gevent-websocket==0.10.1
greenlet==0.4.15
grpcio==1.23.0
gunicorn==19.9.0
itsdangerous==1.1.0
Jinja2==2.10.1
MarkupSafe==1.1.1
pkg-resources==0.0.0
six==1.12.0
Werkzeug==0.15.5

有点像是在黑暗中拍摄的,你能试着使用更更新版本的gevent吗

gevent==20.5.1


有点像是在黑暗中拍摄的,你能尝试使用更新得多的gevent版本吗

gevent==20.5.1