微慑信息网

[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占有率较高,但影响不大

物理机器配置:

 

 

本文标题:[python]使用flask+gunicorn+jieba造个轮子
本文链接:
(转载请附上本文链接)
https://vulsee.com/archives/vulsee_2022/0110_16054.html
转载请附本站链接,未经允许不得转载,,谢谢:微慑信息网-VulSee.com » [python]使用flask+gunicorn+jieba造个轮子
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

微慑信息网 专注工匠精神

访问我们联系我们