我在单个暂存服务器上运行我的烧瓶应用程序。我正在使用 gunicorn 来定义我的应用程序设置,例如工作人员数量、超时值等。我的应用程序有 3 个端点。 我是否可以以这样的方式进行 Gunicorn 工人设置
3 个工人进行/测试
3 个工作人员用于/test1
3 个工作人员用于/test2
命中/test 端点的 4000+ 个请求使所有工作线程长时间忙碌,因此任何查询其他终结点的人都必须等待很长时间,直到工作线程可用。有没有办法将某些端点映射到某些工作线程?添加更多实例不是这里的解决方案,因为它是一个 stg 环境。我无法添加它们。如何优化?我使用的是四核 linux 机器,目前将辅助角色数设置为 50。
首先,我通常会质疑这对你来说是否是一个真正的问题。如果这 4000+ 个请求只是理论,那么保持简单并在以后扩展。
但!如果你热衷于尝试这个,你需要一些东西坐在枪角兽旁边。Gunicorn 运行一个主循环,该主循环管理正在运行的工作线程列表并适当地推送工作。我想你可以构建一个基于功能生成工人的枪角兽工人配置,但这似乎过于复杂。
因此,我建议查看nginx负载平衡,它允许您轻松定义各种上游并将(proxy_pass
(请求路由到特定的上游。