使用符号链接将目录重新定位到不同的文件系统时的开销

使用符号链接将目录重新定位到不同的文件系统时的开销

我需要将一些经常访问的文件重新定位到不同的文件系统。最简单的方法是将包含文件的目录移动到新文件系统,并从旧位置创建符号链接。

IE。/var/yaydata被移至/mnt/data2/yaydataln -s /mnt/data2/yaydata /var/yaydata

我想知道的是,假设 yaydata 中的文件频繁打开和关闭,是否会对性能产生明显影响?

答案1

不,不是真的。

您可以通过调试跟踪您的操作来测试。假设你使用的是 linux,那就是strace.

 mkdir test1
 ln -s test1 test2
 strace -o strace1.log ls -l test1
 strace -o strace2.log ls -l test2

然后比较你的两个日志。

您会发现它们的操作顺序基本相同。他们称其lstat为遵循符号链接的版本stat

-T您可以通过添加标志来测试速度差异strace。使用符号链接,lstat需要 0.000035 秒,没有符号链接则需要 0.000031 秒。

像这样的文件元数据之类的东西也可以非常有效地缓存 - 大多数缓存都认为元数据具有相当高的优先级,因为它访问频繁且很小。

简短的回答 - 不,它不太可能给您带来任何重大的开销。

相关内容