优化文件系统以实现 HDD 的并行读取

优化文件系统以实现 HDD 的并行读取

我有一个 16TB 的从属硬盘,需要运行 6 个 spacemesh 节点,每个节点都需要同时尽可能快地读取 512G 文件夹(总共约 3TB 数据)(目前速度为 230MB/s,因为读取是 1 个节点连续进行的),每个文件夹都有 4GB 的部分文件,这就是 HDD 上的全部内容,Ubuntu 22.04 是操作系统现在,我正在尝试格式化 ext4 文件系统,块大小为 50M,以防止 HDD 一直寻道,因为读取是并行完成的,因为我运行 6 个节点,所有节点将同时开始读取

我需要的是让操作系统强制它在寻找之前尽可能地读取最大的段中的文件(以防止寻找尽可能匹配的文件),我无法调整节点以使其一个接一个地工作,并且重新绘制也不是选项。

因此,我尝试执行的操作如下:读取 POS1 文件块 1 50MB、POS2 文件块 1 50MB 等。我必须说,我不知道操作系统是否会尝试同时读取块 1 和块 2,并让 HDD 在读取块的中间进行搜索

答案1

我设法找到了解决方案,为 ext4 制作大型集群根本没有帮助,但预读命令有:

blockdev --setra 65536000 /dev/sdc

现在我对其进行了测试,7 个节点同时读取的平均速度为 200Mb/s,这很棒,因为 1 个节点的顺序读取最大速度为 230MB/s,这是该 HDD 的最大速度。

相关内容