title: HttpClient takes excessive amount of time (unless Http version is set to 1.0) when making multiple requests in parallel
body: <p>After testing with the .net HttpClient I'm having the following issue. It will do the first 5-6 requests just fine (within 200ms or so), but after that it'll be a full 60 seconds before the rest complete - and they all complete nearly at once</p>
  
  <p>Here is how I've been testing </p>
  
  <pre><code>        var tasks = new List&lt;Task&lt;HttpResponseMessage&gt;&gt;();
          var client = new HttpClient();
          client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", "secret_jwt");
          client.BaseAddress = new Uri("http://myapi/api/");
  
          for (int i = 0; i &lt; 50; i++)
          {
              tasks.Add(ProcessUrlAsync("organizations/id/185", client));
          }
  
          await Task.WhenAll(tasks);
  </code></pre>
  
  <p>-</p>
  
  <pre><code>    static private async Task&lt;HttpResponseMessage&gt; ProcessUrlAsync(string url, HttpClient client)
      {
          var sw = System.Diagnostics.Stopwatch.StartNew();
          var message = await client.GetAsync(url);
          sw.Stop();
          Console.WriteLine(sw.Elapsed.TotalMilliseconds.ToString());
          return message;
      }
  </code></pre>
  
  <p>and my output is typically</p>
  
  <p>174.5346<br>
  127.0873<br>
  141.9458<br>
  141.7396<br>
  153.6638<br>
  153.3449<br>
  61241.5598<br>
  61241.8476<br>
  61283.9076<br>
  61287.406<br>
  61326.0361<br>
  61328.7341<br>
  61368.6317<br>
  etc.  </p>
  
  <p>This is not the API I'm using that's the issue - I can point the HttpClient to any address and the same issue occurs </p>
  
  <p>If I write my own GetAsync method that sets the Http version to 1.0...</p>
  
  <pre><code>    public new async Task&lt;HttpResponseMessage&gt; GetAsync(string url)
      {
          using (var request = new HttpRequestMessage(HttpMethod.Get, url))
          {
              request.Version = HttpVersion.Version10; //removing this will reproduce the issue!
  
              return await SendAsync(request);
          }
      }
  </code></pre>
  
  <p>It works fine (all complete within a few hundred ms). Why is this, and what can I do to fix it whilst still using Http 1.1? I'm assuming it's something to do with 1.0 having connection : close and 1.1 having connection: keep-alive</p>