NTFS 连接点从 HDD 到 SSD,会造成性能瓶颈吗?(steam 游戏搬迁)

NTFS 连接点从 HDD 到 SSD,会造成性能瓶颈吗?(steam 游戏搬迁)

HDD 之间的 NTFS 连接点会造成瓶颈吗?或者连接点会被缓存在内存中吗?

具体来说,我想将 Steam 安装在磁性硬盘上。这意味着所有游戏都将安装在那里。为了充分利用我的 SSD,我将把我正在玩的游戏从 HDD 上的 Steam 目录连接到 SSD。

我想知道这是否会导致性能问题。每次游戏访问文件时,它是否需要读取 HDD、读取连接点、解析 SSD 上的新路径,然后获取真实文件?或者操作系统是否会缓存此重定向,以便仅在第一次发生性能损失?

谢谢!

答案1

很可能不会,它不会成为瓶颈。NTFS 连接会产生一些开销,但在您的场景中,它应该可以忽略不计。

您可以通过将数据物理移动到 SSD 并根本不使用连接来消除开销(这对我来说似乎是您的问题的核心问题),但我怀疑您是否可以衡量差异。

连接点存储和缓存在哪里?

连接点属于重新解析点全部存储在$Extend\$Reparse 图元文件(另一个更著名的图元文件是$MFT)。

当文件或目录具有与其关联的重解析点时,NTFS 会$Reparse为该重解析点创建一个名为的属性。此属性存储重解析代码和数据。为了让 NTFS 能够轻松找到卷上的所有重解析点,名为的元数据文件存储 \$Extend\$Reparse了将重解析点文件和目录 MFT 条目编号与其关联的重解析点代码联系起来的条目。NTFS 按索引中的 MFT 条目编号对条目进行排序$R

来源:Win2K NTFS 内部,第 1 部分,作者:Mark Russinovich

重新分析图

重新解析过程

来源:Win2K NTFS 内部,第 1 部分,作者:Mark Russinovich

有评论称,连接点存储在 MFT 中,并且 MFT 被缓存。现在,当我们知道连接点存储在哪里时,我需要可靠的来源来支持缓存声明;但我找不到。

所以我不知道,但我认为这并不重要。

是否有记录跨磁盘连接性能下降的情况?

是的,急性肾功能衰竭遇到了问题像这样。他正在对小文件的批量删除进行基准测试,当操作通过 Junction 进行时,限制因素不再是 IO(如预期的那样),而是 CPU。这个基准测试也在GitHub

相关内容