uWSGI max请求与Flask(Python)垃圾收集

时间:2018-04-26 18:28:29

标签: python flask uwsgi

我面临概念问题,我无法找到有效的解释。我有一个产品,我使用Flask和uWSGI配置。在uWSGI文档中,有一个名为

的参数
  

MAX-请求

。如果请求计数超过为INI文件中的max-requests指定的限制,则此标志的目的是重新生成worker。该文档称它用于防止内存泄漏。令人困惑的是,Python-Flask实现了自己的内存管理和垃圾收集,并且运行得非常好。我的困惑是框架是否有自己的内存管理,为什么uWSGI正在尝试进行内存管理以防止数据泄露?

问题的第二部分是,如果重生发生,在几毫秒内,该工作人员已经接受的API需要几秒钟的时间来响应。它看起来像这样。

Response Time: 32ms
API: /api/v1.0/ping 
Date: 2018-04-26 12:00:10

# respawn happens
Response Time: 7s
API: /api/v1.0/ping 
Date: 2018-04-26 12:00:20

Response Time: 10ms
API: /api/v1.0/ping 
Date: 2018-04-26 12:00:30

有没有更好的方法来处理这个问题,以便我现在重新生成工作人员并完全依赖Python的垃圾收集器?

这可能听起来像是一个愚蠢的问题,但如果有人能解释我uWSGI的方式和原因,它会非常有用吗?非常感谢。

0 个答案:

没有答案