我想用企业级SSD升级现有存储子系统。但是,我发现很少有证据表明机箱缓存是应该设置为WriteBack还是WriteThrough。
我想有些子系统可能比其他子系统更好地处理这个问题,因为重新排序排队的I / O请求在SSD上并不重要,因为没有任何寻道时间。
我相信WriteBack设置允许控制器在将数据实际写入磁盘之前将立即I / O完成消息发送回主机。但在SSD上这种延迟是否显着?
我倾向于通过电池备用装置进行写作和放弃,但我有兴趣听到任何子系统SSD的经历。
答案 0 :(得分:1)
我过去使用过WriteBack主要有两个原因:
1)从主机角度更快地写入。
2)重新排序磁盘写入。
更快的写入允许主机写入机箱RAM然后继续(当然还有备用电池)。重新排序允许这些写入的顺序与从主机接收的顺序不同。当读/写磁头靠近写入位置时,可以在闲暇时写入数据。虽然我没有具体阅读,但我会推测,根据团队编写固件的理解和技巧,某些机箱在重新排序数据包和推迟写入方面比其他机箱更有效。
让我们将SSD驱动器与15k SAS驱动器进行比较。例如,使用英特尔320,规格在读取期间显示高达38000个随机IOPS(写入为14000),而15k磁盘可以达到,比如读取期间200个随机IOPS。这将使每个SSD驱动器的速度与大约190个硬盘相同。
由于通过重新排序像spining磁盘这样的写入,SSD不受速度增加的影响,并且由于SSD的高吞吐量,似乎WriteBack的有用性已基本消除。因此,基于这种逻辑,以及我能够找到的研究,我建议使用WriteThrough用于SSD SCSI机箱,同时允许读取缓存发生(有争议)。我也会禁用任何Read Ahead缓存方案。预先阅读已经可以移动几乎300 MB /秒的东西似乎毫无意义。
在RAID机箱中使用SSD驱动器时,瓶颈会从磁盘IOPS转移到RAID机箱链路(iSCSI /光纤),除非您有幸拥有10GB的速度。