我有一个多线程的自定义应用程序;每个线程都在自己的逻辑内核上运行(工作站是双 Xeon,具有 12 个物理内核和 24 个逻辑内核)。所以有 24 个线程同时运行。
在过去的 2 天里,我一直在研究多种存储选项,我的头以大约 15k rpm 的速度旋转。
该应用程序有2种模式,它们是独占的:读取数据或写入数据;我的意思是他们不会进行交错的读/写。每个线程只会进行长时间的顺序读取或写入。我需要的总存储空间很大:超过 50 tbs(如果您在 2016 年读到这篇文章,您现在可能对“巨大”这个词感到很开心。)
每个线程将读取或写入一个大约 .8tb 的文件
我将使用 jbod,因为如果驱动器出现故障,我需要做的就是更换它,该应用程序将在大约 10 分钟内重新创建数据。
我将使用 SATA 或 SAS 控制器将驱动器放入外部塔式或机架中(尚未弄清楚它们的 +/-)。
所以,我的问题是:我假设为这个特定应用程序使用 1tb 驱动器比使用 2、3 或 4 倍大小的驱动器在性能方面更好吗?看起来,除非 3 tb 驱动器的顺序读/写吞吐量是 1 tb 驱动器的 3 倍,否则较小的驱动器是可行的方法。
显然,使用 3 tb 驱动器将我需要担心的驱动器数量减少了 1/3,但只有当我能够实现与 1tb 驱动器相同的性能时,这才是一个考虑因素。