小编Bez*_*ran的帖子

具有 2 个工作线程和 2 个线程的 Gunicorn config.py 文件仅并行处理 2 个请求

原始github问题中没有答案: https://github.com/tiangolo/meinheld-gunicorn-flask-docker/issues/48

在下面的简单设置中,我期望 Gunicorn 能够并行处理至少 4 个请求,但我只得到 2 个请求。在下面的配置中,我们可以看到 2 个工作线程和 2 个线程。

此外,我们尝试使用 2 个线程配置工作人员数量 == 1,然后我们在给定时刻仅处理 1 个请求。所以看起来,gunicorn + meinheld 设置只能在每个工作进程中处理 1 个请求,这是非常低效的。

我们在每个设置中并行发送 53 个请求。

simple_app.py:

import sys

from flask import Flask, request
import json
import time

app = Flask(__name__)


@app.route("/", methods=['POST'])
def hello():
    headers = request.headers
    data = json.loads(request.data)
    version = "{}.{}".format(sys.version_info.major, sys.version_info.minor)
    message = "Hello World from Flask in a Docker container running Python {} with Meinheld and Gunicorn (default): {}:{}".format(
        version, headers, json.dumps(data)
    ) …
Run Code Online (Sandbox Code Playgroud)

python gevent flask greenlets gunicorn

5
推荐指数
0
解决办法
1727
查看次数

标签 统计

flask ×1

gevent ×1

greenlets ×1

gunicorn ×1

python ×1