我正在使用开源库连接到我的网络服务器.我担心网络服务器的速度非常慢,然后我尝试用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,我更新了结果.