仅对于较大的json,Docker上的烧瓶响应时间会急剧增加

时间:2019-01-30 15:42:25

标签: python flask

我使用tiangolo / meinheld-gunicorn-flask构建了一个docker容器,典型响应时间约为5s,以运行数据处理并返回结果。当我在调试中本地运行Flask应用程序时,响应时间在大小增加的不同输入数据集中是一致的。

但是,当我在docker容器中运行应用程序时,存在一定的json返回大小,其中响应时间从5s增加到130s,然后对于任何更大的数据大小都保持在130s左右。这是用于增加发送到请求的数据集大小的运行时输出示例(“ DF”是在请求正文中发送的数据帧;“有效载荷大小”是返回的json的#个字符,“运行时”是时钟的时间)请求调用):

rows in DF: 10, payload size: 2913, runtime: 5.65s
rows in DF: 100, payload size: 29403, runtime: 5.39s
rows in DF: 500, payload size: 146293, runtime: 5.77s
rows in DF: 1000, payload size: 294449, runtime: 5.37s
rows in DF: 1500, payload size: 445963, runtime: 131.10s
rows in DF: 2000, payload size: 592629, runtime: 128.22s
rows in DF: 3000, payload size: 886618, runtime: 127.45s
rows in DF: 4000, payload size: 1180558, runtime: 127.90s

我是Docker的新手-这是网络配置设置问题,还是仅根据Docker返回的响应大小而导致响应时间急剧增加的原因?我正在针对Windows的Docker容器中进行本地测试,但计划部署到其他地方。

这是我从Flask返回json的方式(无缩进):

    parsed = json.dumps(to_return)
    return Response(response=parsed, status=200, mimetype="application/json")

这是我运行请求的方式:

    response = requests.get(url, data=payload, headers=headers)

0 个答案:

没有答案