如果 Flask + Gunicorn 长时间运行, gunicorn 的进程不释放,服务器内存就会一直增长, 会造成内存泄漏
然后 gunicorn 有两个参数"--max-requests INT"和"--max-requests-jitter INT", 这两个参数可以定期自动清理"gunicorn 的每个 worker"的进程, 避免服务器 GG
但我有一些疑惑:
1.如果在自动清理的过程中, 有新的请求动作 进行数据库的增删改查, 这个新的请求动作会不会被清理掉
2.如果在自动清理的过程中, 已有的进程内正在进行数据库的增删改查, 这个已有的进程不知道会不会被清理
如果 1. 2. 不会被清理掉, 那这套部署方式应该还比较完美
有木有大佬知道我疑惑的这两点应该要担心么
最终线上部署应该是可以弄成 Nginx + Gunicorn + Gevent + Flask 实现高并发
然后 gunicorn 有两个参数"--max-requests INT"和"--max-requests-jitter INT", 这两个参数可以定期自动清理"gunicorn 的每个 worker"的进程, 避免服务器 GG
但我有一些疑惑:
1.如果在自动清理的过程中, 有新的请求动作 进行数据库的增删改查, 这个新的请求动作会不会被清理掉
2.如果在自动清理的过程中, 已有的进程内正在进行数据库的增删改查, 这个已有的进程不知道会不会被清理
如果 1. 2. 不会被清理掉, 那这套部署方式应该还比较完美
有木有大佬知道我疑惑的这两点应该要担心么
最终线上部署应该是可以弄成 Nginx + Gunicorn + Gevent + Flask 实现高并发