关于 Parallel.ForEach 并行库的一个问题

ayun00 ayun00 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
Parallel.ForEach 的MaxDegreeOfParallelism 参数是不是对 主机的cpu核心有要求?
vps和云服务器的cpu 核心数 是不是有区别?

我的程序要批量调用一个webapi接口, 以前在自己的电脑上MaxDegreeOfParallelism=10,跑的不错,然后放在了亚马逊云上(那个免费的1cpu核心,1g内存的微服务器),跑的也很流畅
然后前几天亚马逊云要收费了就换了一个vps, 然后这程序就卡主了,以前跑这个1s左右, 现在要3-10分钟, 最开始是怀疑网络有问题
检查了下网络 ,确实是比亚马逊云慢些, 亚马逊的网络延时大概是40ms ,这个要400ms, 但是就算不用并行一个个的访问也不要这么久啊 ,然后就查看代码 ,看到MaxDegreeOfParallelism这里,想到以前看到资料说, 多任务进程最好不要超过核心数的2倍, 然后改成MaxDegreeOfParallelism=4, 立马就只需要5-10s了,
这是为什么有这么大的区别?
...全文

相关推荐

评论 10
收藏 已收藏
分享
返回顶部
ayun00
C# 111,128 成员 642,537 内容