Occurs when a task is waiting on a latch for a buffer that is in an I/O request. The latch request is in Keep mode. Long waits may indicate problems with the disk subsystem.
Latches are lightweight, fast methods of managing concurrency on a specific resource.
PAGEIOLATCH_* group of latches are seen in management of data pages.
PAGEIOLATCH_KP is waiting for a latch to be allocated in keep (KP) mode. There is little evidence of this event being seen in the real world.
How to reduce this wait
Whilst long waits on
PAGEIOLATCH_* may indicate problems with the disk subsystem, it is important to check against a performance baseline to check:
- Check for large increase in the volume of I/O
- Check for large increases in database time
- Check for large increases in the volume of queries
- Check for changes in execution plans
- Microsoft Docs - sys.dm_os_wait_stats (Transact-SQL)
- sqlperformance.com - Knee-Jerk Wait Statistics : PAGEIOLATCH_SH
- sqlskills.com - PAGEIOLATCH_SH
If this article doesn't have the information you need you can try searching online. Remember, you can contribute suggestions to this page.
- Google Search for sqlserver - PAGEIOLATCH_KP
- Ecosia Search for sqlserver - PAGEIOLATCH_KP
- Bing Search for sqlserver - PAGEIOLATCH_KP