A system administrator is troubleshooting a web server that is experiencing intermittent high latency when users access static content. They observe that `top` shows high `wa` (I/O wait) percentage, but `iostat` reports very high IOPS (Input/Output Operations Per Second) with low average I/O service times. What does this combination of symptoms most likely indicate?
- AThe server is bottlenecked by CPU processing power.
- BThe storage system is experiencing high throughput but low IOPS.
- CThe network interface card is saturated with incoming requests.
- DThe storage system is saturated with a high number of small I/O operations.
Show answer & explanationAnswer & explanation
Correct answer: D. The storage system is saturated with a high number of small I/O operations.
High `wa` (I/O wait) percentage in `top` indicates the CPU is idle, waiting for I/O operations to complete. If `iostat` shows high IOPS (many small operations) but low average service times (each individual operation is fast), it means the storage system is being overwhelmed by the *number* of requests, not necessarily the *size* or *slowness* of each request. This points to an IOPS bottleneck, where the storage device cannot handle the volume of small, random reads/writes, often seen with static web content.
Why the other options are wrong
- A. High CPU processing power would show high `us` (user) or `sy` (system) time, not `wa`.
- B. The scenario describes high IOPS, not low IOPS, and throughput is a different metric.
- C. Network saturation would typically show high `si` (software interrupt) or `ni` (network interrupt) CPU usage, not `wa`.
IOPS Bottleneck vs. Throughput Bottleneck
An IOPS bottleneck occurs when the storage system cannot handle the high number of small, random I/O operations, even if individual operations are fast. A throughput bottleneck occurs when the storage system cannot sustain the transfer rate of large, sequential data blocks.
- IOPS bottleneck: High `wa`, high IOPS, low service time. Common for databases, static web servers.
- Throughput bottleneck: High `wa`, lower IOPS, high service time. Common for large file transfers, video streaming.
- Diagnosed by combining `top`'s `wa` with `iostat`'s r/s, w/s, and await metrics.
Memory trick: IOPS vs. Throughput: If many small 'I'tems are 'O'verwhelming, it's an 'I'OPS problem.