固态硬盘-单个大磁盘读取与多个小磁盘读取 [英] SSD - Single large disk read vs many small disk reads

查看:0
本文介绍了固态硬盘-单个大磁盘读取与多个小磁盘读取的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在进行一个项目,在该项目中我将文件系统用作某种数据库。我每天执行一个批处理作业,该作业将写入数万个小文件,然后从这些文件中读取。

这些文件完全可以放入机器的RAM中,但仍有几十GB。

所以各种问题:

  • 单个大型读取比许多相同大小的小型读取更快还是更慢?
  • 我是否可以先用我的语言将所有文件写入内存中的FS,然后再以一批写入磁盘,从而提高性能?
  • 同样的问题也适用于阅读。将整个文件夹加载到内存文件系统中,是否比调度散布在处理代码中的许多小读操作更快?

推荐答案

区块引用 单个大型读取往往比许多相同大小的小型读取更快还是更慢?

它往往更高效,因为内存和磁盘之间的往返次数更少。然而,在收益递减的情况下,可以使用像IOMeter或FIO这样的工具(取决于您的操作系统--有很多这样的工具)来确定一个好的聚合大小,并特别注意直接模式(绕过OS FS缓存)和回写或直写模式。考虑低延迟还是高吞吐量是最重要的,因为它们通常是相互冲突的。

Can anyone recommend disk I/O benchmarking software for Windows?

对于您的特定设备,通常有一些存储站点的评论可以显示最大读/写速度,这可以提供有价值的性能目标。您正在使用的总线接口(如SATA或PCIe)也起着重要作用。

这篇关于固态硬盘-单个大磁盘读取与多个小磁盘读取的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆