我有一个磁盘 I/O 密集型应用程序,其中我同时进行大量读取和写入。对于旋转磁盘,存在争用是正常的,因为指针必须大量移动,但 SSD 因其访问权限而应该对此更具弹性。但是,如果有足够的 I/O,我们可能会使控制器或通道饱和。
是否有博客/资源/白皮书描述如何在 SSD 中读取和写入内容,以及是否有办法查看我们是否接近 Linux 应用程序的此限制?
谢谢 Niteya
答案1
这在很大程度上取决于 SSD、主板(尤其是总线)和操作系统。
原则上,NVMe SSD 使用四条 PCIe 数据通道,因此应该能够并行处理多个数据流。
NVMe 还拥有广泛而高效的消息排队系统。SATA 和 SAS 每次仅支持一个 I/O 队列,而 NVMe 最多可支持 65,535 个队列。
有关详细信息,请参阅For more information, see 维基百科:NVM Express 尤其是 与 AHCI 的比较 其中包含以下摘要: