flask负载均衡_请教下, flask 中的任务如何用多线程/多进程处理(能提高处理器利用效率的方法都行)...

这几天在学习怎么用 flask 搭建一个 api,现在成功搭建了,但是对系统性能的利用率让我有点不满意,每秒只能处理三个请求,但是 cpu 的利用率还没到 20%,内存占用也十分低,所以我感觉应该是单线程 /单进程的锅

我从一开始的直接 app.run 到后来的使用 gevent.pywsgi 中的 WSGIServer 再到使用 gunicorn 开启多进程和多线程,性能利用率一直不超过 30%,所以很让我纠结,特此来请教一下大佬们

screen gunicorn --threads 8 -w 3 -b 0.0.0.0:2333 flask_test:app

这是我的 gunicorn 启动代码,但是实测跟用 WSGIServer 的性能差不多。

以下是我程序的代码

@app.route('/api', methods=['POST'])

def post():

a = request.form['a']

b = request.form['b']

try:

caculate = api.Caculate(a, b)

result, time = caculate.start()

recognize_info = {'time': time, 'result': result, 'success': 1}

return jsonify(recognize_info), 200

except:

recognize_info = {'message': '计算程序出错', 'success': 0}

return jsonify(recognize_info), 200

主要花费的时间都在计算那一步,所以我在想有没有什么方法可以在 flask 的任务里使用多线程,目前我的想法是使用 queue 队列,但是不知道该如何对应返回,请大佬们讲解讲解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值