【发布时间】:2021-12-19 21:06:56
【问题描述】:
我向使用 Parallel.Foreach 的 Web 服务发送了超过 100 个请求,它处理得很好,但是当使用 Wireshark 查看流量时,我每秒只能看到 4 个或最多 10 个请求。
然后我在 SOAPUI TOOL 中的同一台机器上尝试了批量多线程中的相同案例 Mode 然后我看到 100 个请求是在同一秒发送的。
我正在使用的任何建议都没有
- C# 2017
- 框架 4.5
- 操作系统赢 10
- CPU 内核 4 I7
- 内存 16 GB
【问题讨论】:
-
知道我应该如何处理这种情况
-
您可能达到了请求数限制。查看this 答案。
-
您拥有网络服务吗?
-
我们的供应商的网络服务“不在本地”,并且没有限制发送的请求
-
@MohannadAsha 欢迎来到 StackOverflow。
Parallel.Foreach专为 CPU 绑定操作而设计。这就是为什么您只看到少数请求的原因,因为您没有 100 个 CPU 内核 :D 请首选Task.WhenAll而不是 I/O 操作。
标签: c# multithreading web parallel-processing python-requests