微慑信息网

[python]使用flask+gunicorn+jieba造个轮子

环境

python38:flask、gunicorn(无法windows上使用)、jieba词库、centos

开始

1、仿造9s的接口并提供使用 flask、jieba

2、处理高并发gunicorn

 

代码

gun_init.py

import os 
import gevent.monkey
gevent.monkey.patch_all()
import multiprocessing

# 服务地址(adderes:port) 
bind = '127.0.0.1:5000' 
# 启动进程数量
workers = multiprocessing.cpu_count() * 2 +1
worker_class = 'gevent'
threads = 20
preload_app = True
reload = True
x_forwarded_for_header = 'X_FORWARDED-FOR'

127.0.0.1:5000为默认flask启动的地址

 

运行:

gunicorn -c gun_init.py webApi:app

 

遇到的问题

1、直接pip3 install gunicorn会报错,建议安装指定版本:

pip3 install gevent==1.4.0

2、安装相关模块:

$ pip install greenlet # 使用异步必须安装
$ pip install eventlet # 使用eventlet workers
$ pip install gevent   # 使用gevent workers

3、Ubuntu上,使用gunicorn == 1.4.0 报错

<frozen importlib._bootstrap>:228: RuntimeWarning: greenlet.greenlet size changed, may indicate
 Segmentation fault (core dumped)

为版本不一样,使用20.9.0版本OK:

pip3 install --upgrade gevent==20.9.0 -i https://mirrors.aliyun.com/pypi/simple/ 

截图

在不使用gunicorn的情况下,程序会卡住,非常慢;使用gunicorn,CPU占有率较高,但影响不大

物理机器配置:

 

 

赞(0) 打赏
转载请附本站链接,未经允许不得转载,,谢谢:微慑信息网-VulSee.com » [python]使用flask+gunicorn+jieba造个轮子

评论 抢沙发

微慑信息网 专注工匠精神

微慑信息网-VulSee.com-关注前沿安全态势,聚合网络安全漏洞信息,分享安全文档案例

访问我们联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册