IO stalls measure how long SQL Server waited for the disk, file by file. This post ranks the files of a demo database by stall time, measures a workload with two snapshots, lists the busiest files of a whole instance, and explains how to pick the one file that belongs on the new drive.
Runnable Sessions in SQL Server: What to Check Next
Runnable sessions are sessions that have everything they need except a free CPU. This post counts requests by status, checks that SQL Server can see every processor, reads the settings that cap CPU use, and lists the statements waiting in the queue, so a long queue next to a half idle CPU stops being a puzzle.
Signal Waits: Detect CPU Pressure With Wait Statistics
Signal waits are the part of every wait that a task spends in the queue for a free CPU. This post ranks the wait types by signal time, shows why timer waits ruin the total share, and samples the signal share into a small table so a whole working day can be read interval by interval.
THREADPOOL Waits: When Raising Max Worker Count Helps
THREADPOOL waits mean tasks waited for a worker thread. Five read-only queries separate real thread starvation from blocking and busy CPUs. The post lists five signs and shows how to raise the cap in small steps.
Max Worker Count: Why Typing 10000 Slowed a Server
Max worker count looks like a speed dial but behaves like a safety limit. A client typed 10000 on an 8 processor server and slowed it, and a reset to 0 fixed it in minutes. Two read-only queries show your value and whether workers run short.
Rows Read Per Thread: Four Ways to See Them in SQL Server
Rows read per thread show whether a parallel query shares its work evenly. The post shows two plan based methods, a T-SQL query over the last actual plan, and a live DMV for running queries. A 500,000 row demo proves the threads add up to the table.







