title: What is SNIReadSyncOverAsync and why would it take a long time to complete?
body: <p>On our ASP.Net website, we've had some requests timeout.  AppDynamics shows that the SQL procedure calls are returning in a matter of seconds, but we're spending 100+ seconds in SNIReadSyncOverAsync.</p>
  <p>Does anyone know what this method is / does and why it would be taking that much time?  We're not using EF which is referenced in every question / post I've been able to find about it.</p>
  <p>Thanks in advance</p>
  <p><strong>Update</strong></p>
  <p>It's been a while and while we never came to a resolution as to why all of the time was being spent in SNIReadSyncOverAsync, I have a few thoughts.</p>
  <p>I think that in this case, it may have been the way that specific version of AppDynamics was reporting the time spent on the SQL calls, but I have no real data to back that up, just my guess from what I observed. We eventually stopped seeing the time reported as being spent in SNIReadSyncOverAsync and it shifted to the queries themselves timing out.</p>
  <p>That still didn't make a lot of sense because the same queries would run instantly in SSMS on the same database.</p>
  <p>The ultimate answer ended up being related to ARITHABORT causing our application and SSMS to use two different execution plans (see <a href="https://dba.stackexchange.com/a/9841">https://dba.stackexchange.com/a/9841</a>), explaining why we couldn't reproduce the timeouts with SSMS.</p>
  <p>Once we resolved that, we were able to identify a few portions of the procedure that needed tuning and we haven't run into the unexplained timeouts or SNIReadSyncOverAsync since.</p>