似乎在任何地方都找不到。
在 SAS 和 SATA 之间的访问(如 SAN、虚拟化主机存储等)高度并行化的存储后端场景中,在所有其他条件相同的情况下,预期的性能差异是什么?
我认为它归结为 NCQ(32 个命令限制)对 SAS 磁盘更高的未完成命令限制的影响。
我们正在考虑更换一些光盘,并有机会选择 SAS 或 SATA - 其余的都已到位 - 我希望从性能角度进行评估。请忽略所有其他问题(可靠性等) - 我纯粹想知道 SAS 对类似规格的光盘(RPM 等相同)的影响。我们想到的光盘可以与两个连接器一起订购,并且 - 这里有一个想法,即使用 SATA 可能以后再利用。价格差异不是很高,但它让我想知道性能影响......
是的,SCSI 的广泛命令集是使用它而不是 SATA 的一大好处。来自 SAS 的Wiki:
错误恢复命令和块回收命令是数据完整性的关键,SMART 确实适用于消费级设备。
此外,SAS 使用更高的信号电压,与 SATA 相比,它支持更长的电缆。在尝试将附加存储连接到现有 SAN 时,这一点很重要。
您提到了 NCQ,但 SCSI 使用 TCQ 代替,它可以在三种不同的模式下使用,但是在并行化设置方面,imo 更大的好处是能够在填充队列之前发送多达 2^64 个命令。iSCSI 和光纤通道之类的协议现在限制了这一点,但这种能力可供将来使用。
我只能回答那部分,因为我不知道使用 SAS 购买几个新磁盘是否会给您带来与纯 SAS 设置相同的好处。
这是一个迟到的答案,但我想补充一下我的意见。
从纯速度的角度来看,近线驱动器(作为 OP 考虑的驱动器)在使用 SATA 接口或 SAS 接口时的性能几乎相同。尽管 NCQ 的深度要低得多(31 个条目而不是 TCQ 64K),但这个有限的硬件队列足以在增加更深的基于软件的 IO 队列时提取几乎相同的 IOPS,这可以使用基于 SAS 的 TCQ 获得.
无论如何,这并不意味着 SAS 没有实际优势:
然而,仅考虑性能时,可悲的现实是机械磁盘的随机 IOPS 值非常低,以至于接口几乎没有影响,不包括有时会限制您的顺序 IO 传输速率的巨大磁盘阵列。由于它们如何考虑旋转延迟(对操作系统隐藏),杀手级性能增强功能是 NCQ/TCQ,而 SATA 实现在这方面足够出色。
在考虑更高端的 SAS 磁盘时会出现一些更显着的差异,这些磁盘不仅提供更高 RPM 的磁盘(10K 和 15K),而且还有一些有趣的写入合并技术(即:HGST 媒体缓存技术),顺便说一下,速度很慢也溢出到企业 SATA 驱动器中。
1 https://ata.wiki.kernel.org/index.php/Libata_FAQ:
旧帖子,但我想更新它,因为我从来没有提到性能方面最重要的区别,即 SATA 只是半双工。预计在混合读/写的重负载下会有巨大的性能差异。绝对不适合 SAN 或虚拟化 IMO。
当然,如上所述,SAS 还有其他好处。如今,NL-SAS 磁盘的价格不亚于 SATA。