ripper234 Asked: 2010-02-25 02:32:55 +0800 CST2010-02-25 02:32:55 +0800 CST 2010-02-25 02:32:55 +0800 CST 随机读取小块的最佳硬盘是什么 772 我们需要对一个巨大文件(150 GB)中的 5 KB 块进行随机读取(搜索)。哪种硬盘最适合这种类型?在这种情况下,SSD 的预期性能是多少? 我听说 SSD 在随机读取方面表现出色,但在块大小如此之小时可能不是。 hardware hard-drive ssd 4 个回答 Voted Best Answer user2874 2010-02-25T03:06:28+08:002010-02-25T03:06:28+08:00 Dave Cheney 给出了一个很好的答案,重点是 SSD 的写入惩罚。 如果驱动器几乎专门用于读取,那么 SSD 绝对是绝对的统治者。从控制器和固件成熟度、一致的性能和价格来看,“最好的”驱动器是 Intel X25-M(ainstream) G2和 X25-E(xtreme)。 X25-E 使用 SLC 闪存,旨在供服务器使用。但是,如果写入负载很轻,您也可以考虑将 X25-M 用于较重的使用。E 的 SLC 闪存的主要好处是大大提高了写入耐久性。 您可以在此处查看两个驱动器的随机 4kb 块读取性能。请注意图表底部的 10k RPM 机械驱动器。我将快速总结 Anantech 的结果: 随机 4 KB 读取总传输速率:Western Digital Raptor 机械 HD ~0.7 MByte/s,英特尔 SATA SSD ~50+ MByte/s。 随机 4 kb 读取平均延迟:WD Raptor ~17.3 毫秒,英特尔 SSD ~0.21 毫秒。 有几个有趣的 SSD 驱动器正在上市,但它们还没有完全准备好。英特尔不会在今年第四季度之前真正更新其 SSD。所以我会选择当前的英特尔产品线,可能会连接到(快速、现代的)RAID 控制器。 Fusion I/O 是目前最快的驱动器。在未来,我认为高性能 SSD 将全部使用 PCI-Express 总线,就像 Fusion I/O 已经使用的那样。现在 Fusion I/O 非常昂贵,但如果您的工作负载是事务性的,并且需要大量写入,那么绝对值得考虑。 Chopper3 2010-02-25T03:03:26+08:002010-02-25T03:03:26+08:00 我很想使用 FusionIO 驱动器 ( CLICKY ),我们已经测试了这些,即使与最快的 SSD 相比,它们也令人惊叹,但它们并不便宜,也就是说,除了 RAM 驱动器之外,它们的速度差不多因为你可以获得(> 600MB / sec)与块大小无关。 Dave Cheney 2010-02-25T02:48:32+08:002010-02-25T02:48:32+08:00 SSD 可以很好地读取任何(合理大小)的随机块,它们在写入数据时会掉下来。传统的旋转 rust 硬盘允许您在扇区级别重写数据(传统上为 512 字节,尽管现在可以使用更大的扇区大小),也就是说,您可以物理写入驱动器的最小数据为 512 字节。即使您更改文件的 1 个字节,操作系统也会重写整个扇区(甚至可能是 4096 字节的整个块)。 SSD 有页面的概念,页面更大(大约数百千字节)。一个页面可以按扇区大小写入,但只能按页面大小擦除。因此,如果要更改已写入 SSD 的数据,驱动器需要读取整个页面,擦除它(非常慢的操作),然后将整个页面写回。 SSD确实通过使用不直接暴露给操作系统的额外页面容量和使用磨损均衡来克服这个问题,但这些只是延迟了不可避免的页面擦除操作,而不是避免它。 JamesRyan 2010-02-25T04:08:15+08:002010-02-25T04:08:15+08:00 如果您的文件只有几个演出,内存驱动器实际上可能比 SSD 更合适且更具成本效益。
Dave Cheney 给出了一个很好的答案,重点是 SSD 的写入惩罚。
如果驱动器几乎专门用于读取,那么 SSD 绝对是绝对的统治者。从控制器和固件成熟度、一致的性能和价格来看,“最好的”驱动器是 Intel X25-M(ainstream) G2和 X25-E(xtreme)。
X25-E 使用 SLC 闪存,旨在供服务器使用。但是,如果写入负载很轻,您也可以考虑将 X25-M 用于较重的使用。E 的 SLC 闪存的主要好处是大大提高了写入耐久性。
您可以在此处查看两个驱动器的随机 4kb 块读取性能。请注意图表底部的 10k RPM 机械驱动器。我将快速总结 Anantech 的结果:
有几个有趣的 SSD 驱动器正在上市,但它们还没有完全准备好。英特尔不会在今年第四季度之前真正更新其 SSD。所以我会选择当前的英特尔产品线,可能会连接到(快速、现代的)RAID 控制器。
Fusion I/O 是目前最快的驱动器。在未来,我认为高性能 SSD 将全部使用 PCI-Express 总线,就像 Fusion I/O 已经使用的那样。现在 Fusion I/O 非常昂贵,但如果您的工作负载是事务性的,并且需要大量写入,那么绝对值得考虑。
我很想使用 FusionIO 驱动器 ( CLICKY ),我们已经测试了这些,即使与最快的 SSD 相比,它们也令人惊叹,但它们并不便宜,也就是说,除了 RAM 驱动器之外,它们的速度差不多因为你可以获得(> 600MB / sec)与块大小无关。
SSD 可以很好地读取任何(合理大小)的随机块,它们在写入数据时会掉下来。传统的旋转 rust 硬盘允许您在扇区级别重写数据(传统上为 512 字节,尽管现在可以使用更大的扇区大小),也就是说,您可以物理写入驱动器的最小数据为 512 字节。即使您更改文件的 1 个字节,操作系统也会重写整个扇区(甚至可能是 4096 字节的整个块)。
SSD 有页面的概念,页面更大(大约数百千字节)。一个页面可以按扇区大小写入,但只能按页面大小擦除。因此,如果要更改已写入 SSD 的数据,驱动器需要读取整个页面,擦除它(非常慢的操作),然后将整个页面写回。
SSD确实通过使用不直接暴露给操作系统的额外页面容量和使用磨损均衡来克服这个问题,但这些只是延迟了不可避免的页面擦除操作,而不是避免它。
如果您的文件只有几个演出,内存驱动器实际上可能比 SSD 更合适且更具成本效益。