【问题标题】:GetRequestStream is very slow [duplicate]GetRequestStream 非常慢[重复]
【发布时间】:2014-10-20 21:15:22
【问题描述】:

在多线程环境下运行生成多个网络请求的 C# 程序时,我发现 Request.GetRequestStream 很慢,有时需要几秒钟,通常是后续 GetResponse 的两倍。即使 Proxy 已设置为 null,这是一个“标准”修复。

这是什么原因?

【问题讨论】:

  • 当然,在大约 20 分钟的网络搜索中,骗子没有出现。

标签: c# .net networking


【解决方案1】:

原来是.NET, by default, has a default limit of 2 for simultaneous connections。这当然会严重限制任何执行大量多线程的应用程序,并且延迟将出现在 GetRequestStream 调用中。

“修复”是将默认限制更改为更合理的值:

ServicePointManager.DefaultConnectionLimit = newConnectionLimit;

我在 VMWare 上运行 Windows 的摇摇晃晃的 Mac 似乎可以处理 20 OK 的值,但应该注意这个数字,因为较大的数字会占用更多资源而不会增加性能。

【讨论】:

  • 你肯定回答得很快。
  • 我提交了一个问题/答案,以使信息可以在 SO 上找到。上面的“骗子”在搜索大约 20 分钟后没有弹出。
猜你喜欢
  • 1970-01-01
  • 2021-05-19
  • 2017-09-27
  • 2017-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-09
  • 1970-01-01
相关资源
最近更新 更多