【发布时间】:2018-09-05 15:16:24
【问题描述】:
我设置了一个仅返回 the default page 的 Azure 网站。从 .Net Core 2.1 调用此链接的响应时间为几毫秒。然后我尝试使用 HttpClient 发送 1000 个并发请求。该批次平均在 27 秒内完成。
class Program
{
static void Main(string[] args)
{
Task.WhenAll(Enumerable.Range(0, 1000).Select(i => Get(i)));
}
static HttpClient client = new HttpClient();
static async Task Get(int i)
{
var response = await client.GetAsync("http://testinghttpclient.azurewebsites.net/");
var content = await response.Content.ReadAsStringAsync();
}
}
每 1000 个请求 27 秒对我来说似乎太慢了。我正确使用 HttpClient 吗?如果是这样,您能否帮助我了解在这种情况下我的限制资源是什么?
【问题讨论】:
-
你在没有
ReadAsStringAsync的情况下测量过时间吗? -
顺便说一句,您的代码在我的网络上运行时间仅为 00:00:02.1045089,所以这实际上取决于您的网络容量
-
感谢 Veikedo。就是这样——限制带宽的是我的本地网络。