title: Performance of multiple HttpClient async requests
body: <p>I am having issues with performance of HttpClient async requests.
  I want to make multiple requests to different IPs and get JSON API content as string.</p>
  
  <p>When i am using single instance, after ~3 requests performance is going down.
  When i am using disposed it is acceptable for one, but not for multiple requests.</p>
  
  <p>Here is my code and results:</p>
  
  <pre><code>private static readonly HttpClient ClientPublic = new HttpClient();        
  public async Task&lt;string&gt; GetURL(string url)
  {            
      var watch = System.Diagnostics.Stopwatch.StartNew();
      string URLString = await ClientPublic.GetStringAsync(url).ConfigureAwait(false);
      watch.Stop(); 
  
      addtolist(watch.ElapsedMilliseconds.ToString(), url);
      return URLString;
  }
  </code></pre>
  
  <p>Result of single URL (ms): 205 155 640 640 590 651 681 590 </p>
  
  <pre><code>public async Task&lt;string&gt; GetURL2(string url)
  {
      var watch = System.Diagnostics.Stopwatch.StartNew();
  
      using (var ClientPublic2 = new HttpClient())
      {
          using (var result = await ClientPublic2.GetAsync(url))
          {
              string URLString = await result.Content.ReadAsStringAsync();
              watch.Stop();
              addtolist(watch.ElapsedMilliseconds.ToString(), url);
          }
      }            
      return URLString;
  }
  </code></pre>
  
  <p>Result of single URL (ms): 208 686 198 190 141 271 131 119</p>
  
  <p>When im doing calls for multiple (10) URL's in general one instance method give better results, but there are always 2-3 requests with pretty high response time.</p>
  
  <p>I checked requestd URLs via browser addon and all responses are &lt; 200ms.
  Is there anything on what i could look for diagnose this issue?</p>