Vdev 异步读取队列默认为 min=1 和 max=3。所有同步读/写队列默认为 min=max=10,而异步写入队列默认为 min=2 和 max=10。
文档中将异步读取描述为“预取读取”。因此,我认为,根据设计,当 i/o 繁重时,预取活动应保持相对较低。然而,我看到许多推荐的配置将 zfs_vdev_async_read_min_active 和其他 min_active 可调参数提高到相同的数字 A > 10。相应的最大值通常被赋予相同的值 B,有时 B=A。
我理解使 i/o 队列变大的一般原因,但是改变预取读取和其他 i/o 之间的平衡是个好主意吗?
也许,这是一个好主意,但前提是工作负载具有有利的预取命中与未命中比率?