When I run sp_whoisactive
throughout the day, I usually see we have around 500-700 connections on our server. We are occasionally getting THREADPOOL waits and high signal wait ratios (so we are thread starved at times).
However, these 500-700 connections only 10-25 of them are active. I wasn't sure if a sleeping SPID
is still bound to a thread while it sleeps?
Could that be causing our high signal wait ratio and THREADPOOL waits?
I have a feeling our 3rd party application is not properly closing out connections and is causing us issues, but wanted to check first before I bring this up with them. Thanks!
Best Answer
No, they do not,
But instead of actually spawning a new worker, one is typicall available in a pool
Thread and Task Architecture Guide -- SQL Server task scheduling
which you can see from running
Since you typically have more sessions than workers.