首页 > 解决方案 > 为高性能编程 HttpClient

问题描述

我设置了一个仅返回默认页面的 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 吗?如果是这样,您能否帮助我了解在这种情况下我的限制资源是什么?

标签: .net.net-core

解决方案


问题是从 IDE 运行它。以发布模式发布它并从命令行运行它使执行时间不到一秒钟。


推荐阅读