title: Not much difference between ASP.NET Core sync and async controller actions
body: <p>I wrote a couple of action methods in a controller to test the difference between <strong>sync</strong> and <strong>async</strong> controller actions in ASP.NET core:</p>
  
  <pre><code>[Route("api/syncvasync")]
  public class SyncVAsyncController : Controller
  {
      [HttpGet("sync")]
      public IActionResult SyncGet()
      {
          Task.Delay(200).Wait();
  
          return Ok(new { });
      }
  
      [HttpGet("async")]
      public async Task&lt;IActionResult&gt; AsyncGet()
      {
          await Task.Delay(200);
  
          return Ok(new { });
      }
  }
  </code></pre>
  
  <p>I then load tested the sync end point:
  <a href="https://i.stack.imgur.com/SFIiW.png" rel="noreferrer"><img src="https://i.stack.imgur.com/SFIiW.png" alt="enter image description here"></a></p>
  
  <p>... followed by the async end point:
  <a href="https://i.stack.imgur.com/lCcsY.png" rel="noreferrer"><img src="https://i.stack.imgur.com/lCcsY.png" alt="enter image description here"></a></p>
  
  <p>Here's the results if I increase the delay to 1000 ms
  <a href="https://i.stack.imgur.com/E9TSS.png" rel="noreferrer"><img src="https://i.stack.imgur.com/E9TSS.png" alt="enter image description here"></a>
  <a href="https://i.stack.imgur.com/c4ISe.png" rel="noreferrer"><img src="https://i.stack.imgur.com/c4ISe.png" alt="enter image description here"></a></p>
  
  <p>As you can see there is not much difference in the <strong>requests per second</strong> - I expected the async end point to handle more requests per second. Am I missing something?</p>