read amplification
also: read overhead, read multiplication
Read amplification occurs when a single logical read request from an application causes multiple physical reads from storage, increasing I/O overhead and reducing performance.
Read amplification happens when the storage system or filesystem must fetch more data than requested to satisfy a single read operation. This can occur at multiple layers: the application requests 4 KB, but the filesystem reads a 64 KB block; or a key-value store must read multiple pages to find a single key.
Common causes include block alignment mismatches, compression requiring decompression of entire blocks, and LSM tree designs where lookups must check multiple levels. For example, reading a 512-byte record from a filesystem with 4 KB block granularity causes the entire block to be read from disk, wasting bandwidth.
Read amplification is particularly significant in SSDs and databases because it increases latency, consumes bandwidth unnecessarily, and reduces the effective throughput of the storage device. Techniques like compression, caching, and optimized indexing help mitigate it.