有烧瓶,使用multiprocessing.Process来处理并发请求是不是很糟糕?

时间:2018-02-15 09:59:03

标签: python flask

flask python服务器一次只能处理一个连接。

通过使用multiprocessing.Process(),可以为每个请求生成工作任务。例如,每个请求都需要一些时间来查询数据库。

问题1。 为什么这么糟糕?为什么推荐使用WSGI服务器并且优越呢?

问题2。 它适用于multiprocessing.Process()。也许它没有结构化。但是未来会发生什么样的真正问题?

1 个答案:

答案 0 :(得分:0)

通过使用multiprocess库并为请求尝试并发进程的方法,您可能会将并发风险限制为机器CPU具有的最大内核数。这与使用--workers之类的gunicorn标志和提供guincorn服务器可运行的最大内核数量大致相当。虽然确定可以编写所需的逻辑来为每个连接提供CPU时间,但是当存在WSGI框架时,似乎需要付出很多努力。我建议您浏览 GUnicorn SettingsDesign文档,以便更清楚地了解您的情况。