我想用企业级ssd升级现有的存储子系统。但是,我几乎没有发现关于框缓存应该设置为回写还是透写的证据。
我想有些子系统可能会比其他子系统更好地处理这个问题,在SSD上重新排序排队的I/O请求并不重要,因为没有任何寻道时间。
我认为WriteBack设置允许控制器在实际将数据写入磁盘之前立即向主机发送I/O完成消息。但是在SSD上这个延迟重要吗?
我倾向于写透和放弃电池备份单元,但我很有兴趣听到任何子系统SSD在这方面的经验。
我过去使用过WriteBack,主要有两个原因:
1)从主机角度看,写速度更快。
2)重新排序磁盘写。
更快的写入允许主机写入机箱RAM,然后继续(当然有电池备份)。重新排序允许这些写操作以不同于从主机接收到的顺序进行。当读/写磁头离写位置很近时,可以轻松地写数据。虽然我没有特别读过它,但我推测,基于编写固件的团队的理解和技能,一些外壳在重新排序数据包和延迟写入方面比其他外壳更有效。
让我们比较一下SSD驱动器和15k SAS驱动器。以英特尔320为例,其规格显示读取期间的随机IOPS高达38000(写14000),而15k磁盘在读取期间的随机IOPS可以达到200。这将使每个SSD驱动器的速度与大约190个硬盘驱动器相同。
由于SSD不像旋转磁盘那样通过重新排序写入来提高速度,并且由于SSD的高吞吐量,似乎回写的有用性已经基本上被消除了。因此,基于这个逻辑,根据我所能找到的研究,我建议在SSD SCSI机箱上使用WriteThrough,同时允许读取缓存发生(有争议)。我还会禁用预读缓存方案。预读已经可以移动近300 MB/s的东西似乎毫无意义。
在RAID框中使用SSD驱动器,瓶颈从磁盘IOPS转移到RAID框链路(iSCSI/光纤),当然,除非您有幸拥有10GB的速度。