DP-300 Practice Question: Monitor, configure, and optimize database resources
You have an Azure SQL Database with a heavy workload. You notice that the `PAGEIOLATCH_SH` wait is the top wait. Which performance issue does this indicate?
⚠ Common exam trap
Watch out — candidates often confuse `PAGEIOLATCH_SH` with memory pressure or blocking, but the key distinction is that this wait type specifically measures I/O latency for reading pages from disk, not memory availability or lock contention.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
I/O subsystem bottleneck
The `PAGEIOLATCH_SH` wait type indicates that a query is waiting for a data page to be read from disk into the buffer pool. Since this is the top wait, it points to an I/O subsystem bottleneck where the storage cannot keep up with the demand for reading pages, causing performance degradation.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Blocking
Why it's wrong here
Blocking appears as LCK_M_* waits, where sessions queue behind locks held by other transactions. PAGEIOLATCH_SH instead counts waits for a page read to complete from storage, implicating I/O latency or throughput. Blocking is tempting because it also causes long-running queries, but the wait type identifies the resource being awaited.
- ✗
CPU bottleneck
Why it's wrong here
CPU bottlenecks manifest as SOS_SCHEDULER_YIELD or CXPACKET waits, reflecting runnable threads competing for processor time. PAGEIOLATCH_SH specifically measures time waiting for a data page to be read from storage, pointing at I/O rather than processor saturation. CPU pressure is tempting because heavy workloads often coincide with both symptoms.
- ✓
I/O subsystem bottleneck
Why this is correct
`PAGEIOLATCH_SH` waits occur when sessions block acquiring shared latches while pages are read from disk into the buffer pool, so sustained dominance points to the storage layer rather than CPU or locking. This satisfies the stem's heavy-workload constraint by identifying the I/O subsystem as the bottleneck, prompting investigation of disk latency and throughput.
- ✗
Memory pressure
Why it's wrong here
PAGEIOLATCH_SH signals threads waiting on data-page reads from storage, so the bottleneck sits in the I/O subsystem, not in buffer pool memory. Memory pressure would instead surface as RESOURCE_SEMAPHORE waits or a low page-life expectancy. It is tempting because both produce slow queries, yet the wait type names the stalled resource directly.
Go deeper
Related to this question
Learn chapter
Securing Data at Rest and in Transit
Key term
Azure SQL Performance Tuning
Azure SQL Performance Tuning is the process of optimizing the speed and efficiency of queries and database operations in Microsoft Azure SQL Database or SQL Managed Instance to reduce latency and improve throughput.
About these practice questions
This DP-300 question is part of Courseiva's 574-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This DP-300 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the DP-300 exam.