相关疑难解决方法(0)

HttpWebRequest非常慢!

我正在使用开源库连接到我的网络服务器.我担心网络服务器的速度非常慢,然后我尝试用Ruby做一个简单的测试,我得到了这些结果

Ruby程序:10个HTTP GET的2.11秒

Ruby程序:100个HTTP GET的18.13秒

C#库:10个HTTP GET的20.81秒

C#库:100个HTTP GET的36847.46seconds

我已经分析并发现问题是这个功能:

private HttpWebResponse GetRawResponse(HttpWebRequest request) {
  HttpWebResponse raw = null;
  try {
    raw = (HttpWebResponse)request.GetResponse(); //This line!
  }
  catch (WebException ex) {
    if (ex.Response is HttpWebResponse) {
      raw = ex.Response as HttpWebResponse;
    }
  }
  return raw;
}
Run Code Online (Sandbox Code Playgroud)

标记的行自己完成需要1秒以上,而执行1请求的ruby程序需要0.3秒.我也在127.0.0.1上进行所有这些测试,因此网络带宽不是问题.

什么可能导致这个巨大的减速?

UPDATE

查看更改的基准测试结果.我实际测试了10 GET而不是100,我更新了结果.

c# performance http httpwebrequest

71
推荐指数
4
解决办法
5万
查看次数

标签 统计

c# ×1

http ×1

httpwebrequest ×1

performance ×1