【问题标题】:How many workers should I create for a multicore CPU when using gunicorn for deployment使用 gunicorn 进行部署时,我应该为多核 CPU 创建多少个 worker
【发布时间】:2013-10-30 06:23:17
【问题描述】:

我正在使用 gunicorn 来部署我的网络服务。该文档建议在以下网页中部署一个示例配置文件:http://docs.gunicorn.org/en/latest/configure.html

代码如下:

import multiprocessing

bind = "127.0.0.1:8000"
workers = multiprocessing.cpu_count() * 2 + 1

我不知道我们为什么要使用这个奇怪的计数:“num_of_cpu_core * 2 + 1”。为什么不直接使用 cpu 核心数?

【问题讨论】:

    标签: python deployment gunicorn


    【解决方案1】:

    他们的architecture page 给出了更多关于选择工人数量的建议:

    虽然不是太科学,但该公式是基于这样的假设:对于给定的内核,一个工作人员将在另一个工作人员处理请求时从套接字读取或写入。

    “为什么不使用内核数作为工作人员数量”的答案是有时工作人员会阻塞(例如在 IO 操作期间),因此有额外的工作人员可以更好地利用 CPU。

    【讨论】:

      猜你喜欢
      • 2012-10-15
      • 1970-01-01
      • 1970-01-01
      • 2023-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多