我有一个非常繁重的 I/O 应用程序,它不断通过网络接收数据并写入硬盘上的特定目录。然后,应用程序需要从该特定位置加载文件。我的一个客户一直遇到网速缓慢的问题,当我尝试访问目录时,需要很长时间才能看到内容。
我的直觉是,由于几年的高 I/O 量,HDD 的性能正在下降,我正在考虑更换 HDD。写入多个目录而不是始终使用相同的目录有什么好处吗?
顺便说一句,他使用的是 Windows XP。
答案1
不太可能。目录不是磁盘上的物理位置。目录的新内容根据其大小和磁盘上的可用空间放置在磁盘上。目录的实际文件只是这些位置的列表。
但是,目录中的项目数量过多也是非常有可能的。一旦项目数量超过几百或几千(取决于操作系统和访问类型),访问目录就会导致速度大幅下降。如果目录中的项目超过几百个,请考虑添加子文件夹以尽量减少给定文件夹中的项目数量。
最后要说的是,即使读取错误没有严重到导致完全故障,也可能会导致速度大幅下降。如果您怀疑存在这种情况,请对驱动器运行诊断程序,如果确认存在,请尽快删除数据。
[编辑] 您上面提到这些是放射图像。我假设以某种形式的患者 ID 或序列号/日期戳作为文件名。建议您为表示 ID 的任何内容的前 2-3 个字母创建文件夹,并将项目移入其中。您可以在多个文件夹中执行此操作,这将使查找项目变得比现在更简单,并大大加快目录索引速度。
oldfolder
123456
123457
123558
...
55123
55124
...
99345
99346
newfolder
12
34
123456
123457
35
123558
...
55
12
55123
55124
...
99
34
99345
99346
答案2
硬盘不在乎。您可能遇到的情况是文件系统让大目录变得非常碎片化,就像 Windows 容易发生的情况一样。您可以尝试创建一个新目录,将所有文件移到那里,然后用新目录替换原始目录。
答案3
简短回答:不是,或者至少不是因为文件夹。磁盘上的文件位置与文件系统层次结构几乎没有关系,因此同一目录中的两个文件可能位于连续的地址中,也可能位于磁盘的两端。
不间断的 I/O 可能会慢慢损坏您的驱动器(但 HDD 在生命的每一秒都在不断损坏),但分散到多个目录不会产生任何影响。