知识卡片

队列深度为何不是越大越好

专业/工作 · 491.c.1

内容

队列深度指某一时刻硬盘正在处理加上排队等待的 IO 请求总数。加大队列深度确实能减少硬盘的空闲时间、提高利用率,从而逼近 IOPS 和吞吐量的峰值——但前提是这个设备本身具备并行处理能力。机械硬盘只有一个磁头,并行度天生是 1:一旦利用率已经接近饱和(比如 98%),继续加大队列深度不会再提升 IOPS,只会让新请求在队列里排更久,平均响应时间反而成倍增长。发散:这印证了[[存储系统的排队模型]]里”增加并行度”这个杠杆是有生效条件的——对着一个本质串行的服务节点使劲加并发,换来的只是更长的等待队列,而不是更高的吞吐,判断一个系统能不能靠”加队列深度”提速,先要看它内部到底有没有真正的并行通道。

参考来源

《Ceph分布式存储实战》第9章《Ceph硬件选型、性能测试与优化》