在任何地方都找不到。
SAS和SATA之间访问(如SAN,虚拟化主机存储等)高度并行的存储后端场景的预期性能差异是什么?
我认为这可以归结为NCQ(32命令限制)对SAS盘片更高的可用命令限制的影响。
我们正在考虑更换一些光盘,并有机会去SAS或SATA–其余的都已经到位了 – 我从性能angular度来看待评估。 请忽略所有其他问题(可靠性等) – 我完全想知道SAS对类似spec光盘(RPM等)的影响。 我们想到的光盘可以同时订购两个连接器 – 这里有一个想法,可以稍后使用SATA进行重新调整。 价格差异不是很高,但是这让我对性能的影响感到惊讶…
是的,SCSI的扩展命令集是通过SATA使用它的一大优点。 来自SAS'Wiki:
SATA使用基于并行ATA命令集的命令集,然后将其扩展到包含本机命令队列,热插拔和TRIM等function之外的命令集。 SAS使用SCSI命令集,其中包括更广泛的function,如错误恢复,保留和块回收。 基本的ATA只有直接访问存储的命令。 但是,SCSI命令可能通过ATAPI [2]传输到CD / DVD驱动器等设备。
错误恢复命令和块回收命令是数据完整性的关键,SMART实际上是针对消费级设备的。
此外,SAS使用更高的信号电压,与SATA相比,可实现更长的电缆。 尝试将附加存储连接到现有SAN时,这一点非常重要。
你提到NCQ,但是SCSI使用TCQ,可以在三种不同的模式下使用,但是对于并行设置,更大的奖励是在发送队列之前发送2 ^ 64个命令的能力。 像iSCSI和光纤通道这样的协议现在限制了这一点,但这种能力还有待于未来的使用。
我只能回答这个问题,因为我不知道用SAS来做一些新的磁盘是否会给你一个纯粹的SAS设置的好处。
这是一个迟到的答案,但我想补充我的意见。
从纯粹的速度观点来看,近线驱动器(就像OP所考虑的那样)将使用SATA接口或SAS接口实现相同的function。 尽pipe深度NCQ(31 [1]条目而不是TCQ 64K)的深度要低得多,但是当使用更深的基于软件的IO队列进行扩充时,这个有限的硬件队列就足以提取几乎相同的IOPS,可以使用SAS基于TCQ。
无论如何,这并不意味着SAS没有实际的优势:
但是,单独考虑性能时,可悲的现实是机械磁盘的随机IOPS值非常低,以至于接口几乎没有影响,不包括大量的磁盘arrays, 有时可能会限制您的顺序IO传输速率。 实际上,由于它们如何考虑旋转延迟(对操作系统而言是隐藏的),杀手性能增强function是NCQ / TCQ,而SATA的实现则足够好。
当考虑更高端的SAS磁盘时,会出现一些更重要的差异,不仅提供更高RPM磁盘(10K和15K),而且还有一些有趣的写入合并技术(即:HGST媒体caching技术)也涌入企业SATA驱动器。
[1] https://ata.wiki.kernel.org/index.php/Libata_FAQ :
但是,ATA标准有一个devise缺陷。 NCQ标记被假定为32位位图(32位双字)。 如果所有32个variables均被置位,则会产生一个值(0xffffffff),该值与硬件热拔出后读取硬件寄存器所返回的值相同,或者发生严重故障。 因此,为了区分这种情况,libata人为地将所有NCQconfiguration限制为31个标签而不是32个。
旧的文章,但我想更新它,因为我从来没有看到提到性能方面最重要的差异,即SATA只是半双工。 在读取/写入混合的情况下,在重负载下可能会出现巨大的性能差异。 绝对不适合SAN或虚拟化IMO。
当然如上所述,SAS还有其他的好处。 现在的NL-SAS磁盘可以比SATA多得多。