gpt4 book ai didi

python - Flask request.form.get 太慢?

转载 作者:行者123 更新时间:2023-12-04 11:46:15 27 4
gpt4 key购买 nike

我将 Flask 用于我的 Web Api 服务。

发现我的服务有时(1/100 请求)响应非常慢(秒),我开始调试,这表明有时服务在读取请求字段时挂起。

@app.route('/scan', methods=['POST'])
def scan():
start_time = time.time()
request_description = request.form.get('requestDescription')
end_time = time.time()
app.logger.debug('delay is ' + end_time-start_time)

在这里我发现 start_time 和 end_time 之间的延迟可以达到 2 分钟。

我读过有关使用 Flask 的 Werkzeug 作为生产服务器的信息,因此我尝试将 Gunicorn 作为替代方案 - 同样的事情。

我觉得我的问题有点类似于 this one ,不同的是另一台服务器没有解决问题。

我尝试使用 来分析该应用程序c简介 SnakeViz ,但使用非生产 Werkzeug 服务器 - 因为我不知道如何分析在 Gunicorn 上运行的 python 应用程序。 (也许这里有人知道怎么做?)

我的 POST 请求包含描述和文件。该文件的大小可能会有所不同,但日志显示 无论文件大小如何,问题都会重现 .

人们通常也说Flask应该用在Nginx-[普通服务器]-flask组合中,但我使用Openshift内部的服务,我怀疑这是否有任何意义。 (HaProxy 作为平衡器工作)

所以我的设置:
Alpine 3.8.1
unicorn :
worker :3
线程:1

当我调用它时,引擎盖下会发生什么?
request.form.get('requestDescription')

如何在 Gunicorn 下分析 Python 代码?
有没有其他人遇到过这样的问题?

任何帮助将不胜感激

最佳答案

我也遇到过这个问题。我正在使用 request.post() 上传视频文件.事实证明,视频上传不是问题。
计时瓶颈是 request.form.get() .虽然我仍在努力找出问题所在,但您可以使用 Flask Monitoring Dashboard对代码进行时间分析
原来,引擎盖下是 return self._sock.recv_into(b)如果您使用探查器

关于python - Flask request.form.get 太慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53448608/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com