On a particular test we're doing with Microsoft Azure, we are seeing a wait_category called: PAGE LATCH (non-I/O) that we're unfamiliar with.

In our test, CaptureSeconds = 1595 and for PAGE LATCH (non-I/O) it reports:

wait_time_ms = 126666216

wait_time_ms_per_sec = 79364

max_waiting_tasks = 13086110

average_wait_time_ms = 9

max_Wait_time_ms = 2526

Can someone tell me what PAGE LATCH (non-I/O) wait category is and whether this is indicating a problem of some sort?



  • 1
    Is this SQL Server? What is a "VSAN Hess Test"? – David Browne - Microsoft Oct 3 '18 at 15:10
  • Sorry, this is SQL Server and we're stress testing against Azure to see the differences with processing against our own databases versus Azure. – Robert West Oct 3 '18 at 15:13

In SQL Server a Latch used to provide brief, exclusive access to a database page. When multiple sessions need to modify the same page, all but one will enter a "PAGE LATCH (non-I/O) wait". Your wait stats seem to indicate that all your sessions are lining up to modify a single page.

There are couple of different scenarios where Latch contention can become an issue. The most common are when all a large number of sessions need to write to the same "hot" page, typically at the end of a clustered index, and latch contention in Tempdb for metadata pages when a large number of sessions create and drop temp tables or table variables. See Diagnosing and Resolving Latch Contention on SQL Server for details.

But in the context of a synthetic load test, this Latch contention may represent a defect in the test workload design that is preventing the sessions from running concurrently and accessing all of the server resources.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.