0

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?

Thanks,

RW

David Browne - Microsoft
  • 49,000
  • 3
  • 53
  • 102

1 Answers1

0

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.

David Browne - Microsoft
  • 49,000
  • 3
  • 53
  • 102