Can PAGELATCH Waits cause increase in SOS_SCHEDULER_YIELD wait in SQL Server? We have a high concurrency web server application on which we have some amount of PAGELATCH_UP &amp; PAGELATCH_SH Waits due to tempdb contention. But recently we have noticed the SOS_SCHEDULER_YIELD Waits also going up. 

Could the PAGELATCH Waits cause the SOS_SCHEDULER_YIELD Wait to go up?

Also, the web server application and sql server are hosted on the same AWS cloud server.
Could the PAGELATCH Waits cause the SOS_SCHEDULER_YIELD Wait to go up?


No.

SOS_SCHEDULER_YIELD wait time is spend waiting on an available scheduler (CPU).  After any other resource wait, a session will accumulate Signal Wait Time while waiting for an available scheduler.  The Signal Wait Time is tracked along with the previous wait, and included in the reported wait_time, but broken out in the signal_wait_time column in the Instance Level and Session Level Wait Stats DMVs.

So there may be a relationship between the two waits, but it's not that the PAGELATCH causes the SOS_SCHEDULER_YEILD.  Check the signal_wait_time on the PAGELATCH wait.  If the signal_wait_time is a significant proportion of the wait_time, then the PAGELATCH waits are really CPU waits.

Note that when a session is waiting for a page latch, the session that currently owns the page latch may itself be waiting for CPU, so some of the non-signal wait time may also be related to CPU waits.

Put another way, excessive CPU use (or insuffient CPU resources) can cause both SOS_SCHEDULER_YEILD waits and cause other short waits to drag out as no scheduler is available at the end of the resource wait.