如果我理解正确,对于ProcessPool
,你在CPU受限时使用它。所以,如果我是四核,这是否意味着最有效的max_workers是4?我如何知道ThreadPool
哪个最有效,因为如果我理解正确,那么当你受I / O限制时应该使用它?
这是使用python的concurrent.futures
。
答案 0 :(得分:0)
tdelaney的评论!
你必须测量它。
我通常使用像tdelaney概述的方法来获得对程序的一般感觉。解析JSON或HTML的程序的大部分是什么?而不是CPU限制。是在进行db / http /网络请求吗? IO绑定
然后我参数化所有工作者/进程/线程池,以允许从启动时配置它们。然后使用来自tdelaney的分析来执行测试,以确定默认配置值应该是什么。然后是workload is applied and measured,处理延迟,吞吐量,错误等。然后调整配置选项,并应用相同的工作负载。
有很多很棒的性能测试工具: