flask + gunicorn + nginx 运行一段时间后明显很卡

11 篇文章 1 订阅

量化交易系统使用的是flask + gunicorn + nginx方式部署,由于项目里面有大量的长时间执行任务,跑了一段时间,大概几天到一周多的时间吧,就会出现请求服务长时间不返回数据,有时候又能返回数据,后面查看gunicorn官方文档,有这么一段话: If you want to be able to handle streaming request/responses or other fancy features like Comet, Long polling, or Web sockets, you need to turn off the proxy buffering. When you do this you must run with one of the async worker classes.翻译过来就是:如果您希望能够处理流请求/响应或其他花哨的功能,如 Comet、长轮询或 Web 套接字,您需要关闭代理缓冲。执行此操作时,您必须使用异步工作器类之一运行。
后面又得知gunicorn默认的是aync同步的方式,所以当我的异步任务在执行的时候,有可能会占用资源,导致拥堵,这也就解释了为什么有时候能请求到数据,有时候请求不到数据,因此在gunicorn.py配置文件里面加上以下即可。

# 使用gevent模式
worker_class = 'gevent'

总结:遇到请求接口有时能返回数据,有时不能返回时,需要做好日志,查看是服务原因还是代码原因,还是服务器的原因,多去官方文档找答案。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值