python的深度学习模型使用flask部署时不同部署方式的性能差距

经常我们使用python训练得到了一个深度学习模型,前向计算的代码都是python编写的。虽然可以将前向计算的代码转为c++编写,提供模型部署的sdk,但这种做法需要专门的部署工程师来实现,比较费时。如果要尽快实际使用模型测试效果的话,使用web服务封装后提供推理能力也是比较常见的做法。
个人一般习惯使用flask来搭建这种简易的web服务,因为使用比较简单。
基于flask的程序写好后,需要部署服务。因为flask自带的app.run()方法是不能实际使用的(因为flask自带的WSGI服务器性能很差)。

需要测试下不同的部署方式之间的差异,不然随便选择一种不太严谨。
所有的程序都运行在同一个docker容器中,局域网内另一台机器用ab客户端。

机器性能
cpu: i7-6800K CPU @ 3.40GHz
内存:32G

使用apache ab作为测试工具,测试命令为ab -n 100000 -c 1000 http://192.168.20.216:5001/
模拟的是10万请求,1000并发,测试全部完成时间。
测试了几种部署方式,最终发现,gunicorn + meinheld的方式最好。

部署方式 QPS Time per request
gevent 2332.71 428.687
gunicorn+genvent(worker:1) 2010.75 497.327
gunicorn+genvent(worker:2) 3737.34 267.57
gunicorn+genvent(worker:4) 6508.4 153.648
meinheld 2922.66 342.154
gunicorn+meinheld(worker:1) 4192.53 238.519
gunicorn+meinheld(worker:2) 7566.64 132.159
gunicorn+meinheld(worker:
  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值