【问题标题】:Is there any interest using more than 1 worker when you only have a singe core?当您只有一个核心时,是否有兴趣使用超过 1 个工人?
【发布时间】:2019-06-20 09:32:36
【问题描述】:

我目前正在单核机器上设置 Gunicorn 应用程序,并且我对内存有限制,因此我宁愿使用 1 个 Worker 和 8 个线程,也不愿使用 2 个 4 线程的 Worker。

但是,我仍然问自己关于 1 个工作人员配置可能存在的性能问题,因为 Gunicorn 官方文档建议使用以下设置。

2 * (number of cores) + 1

考虑到使用 Python 时,我会被 GIL 阻止

【问题讨论】:

    标签: python django multithreading gunicorn worker


    【解决方案1】:

    这真的取决于工作量。

    对于 CPU 密集型任务,您是对的。 对于 I/O(网络、存储)密集型任务,即使在单个内核上,您也可以利用多个线程来提高性能。

    这都是理论上的,性能瓶颈可能来自意想不到的来源。

    在我看来,最好的做法是在模拟系统在生产中面临的工作负载下对几种配置进行经验基准测试,然后选择产生最佳结果的配置。

    【讨论】:

      猜你喜欢
      • 2018-01-04
      • 2021-04-13
      • 2023-03-12
      • 1970-01-01
      • 2020-11-22
      • 1970-01-01
      • 2016-12-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多