ab工具测试flask 接口并发

ab工具安装(ubuntu)

apt-get install apache2-utils

先用python程序看请求时间(1个请求)

falsktest.py的内容可以看上一篇文章

python falsktest.py 1.png

返回时间0.1秒
在这里插入图片描述

使用ab工具 测试

先根据接口参数生成json文件

import json
import base64
file = "/ntt/smz_data/images/test/1.png"
with open(file, "rb") as f:
    img_read = f.read()
    base64_data = base64.b64encode(img_read)

a_dict = {'input':str(base64_data, encoding='utf-8')}
json.dump(a_dict, open('1.json', 'w'))

使用命令

 ab -n 10 -c 10  -T application/json -p 1.json  "http://127.0.0.1:5000/predict"

参数

-p 定义 post 方法需要传输的 file
file 默认是寻找 /root 路径下目标文件,可以通过 tab 确认
file 可能需要注意换行符等问题(目前我这边没有问题)
-T 是和-p 搭配使用,指定 header

返回
在这里插入图片描述

Flask框架的接口并发量取决于多个因素,包括服务器硬件性能、操作系统限制、网络带宽以及应用程序本身的优化程度。在默认配置下,Flask可以处理一定数量的并发请求,但对于高并发场景,可能需要进行一些优化。 以下是一些提高Flask接口并发量的建议: 1. 使用多线程/多进程:通过在应用程序中使用多线程或多进程,可以充分利用服务器的多核处理能力。Flask本身支持通过Gunicorn等WSGI服务器启动多个进程或线程来处理请求。 2. 使用异步处理:使用异步框架(如Flask-SocketIO、Flask-AsyncIO)或异步任务队列(如Celery)可以提高接口并发处理能力。异步处理可以使应用程序更高效地处理并发请求。 3. 启用并发服务器:使用像Gunicorn或uWSGI这样的并发服务器来部署Flask应用程序。这些服务器可以同时处理多个请求,并提供更高的并发能力。 4. 缓存和优化查询:对于频繁访问的数据,可以使用缓存来减少数据库查询的次数。此外,优化数据库查询语句和索引可以提高数据库的读取性能。 5. 负载均衡:使用负载均衡器(如Nginx)可以将请求分发到多个后端服务器,从而提高整体的并发处理能力。 需要注意的是,并发量的提升也可能带来服务器资源的增加,包括CPU、内存和网络带宽等。因此,在进行并发优化时,需根据实际情况进行权衡和测试,以确保系统的稳定性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jaffe—fly

古人学问无遗力,少壮工夫老始成

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值