我需要将一些经常访问的文件重新定位到不同的文件系统。最简单的方法是将包含文件的目录移动到新文件系统,并从旧位置创建符号链接。
IE。/var/yaydata
被移至/mnt/data2/yaydata
和ln -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 秒。
像这样的文件元数据之类的东西也可以非常有效地缓存 - 大多数缓存都认为元数据具有相当高的优先级,因为它访问频繁且很小。
简短的回答 - 不,它不太可能给您带来任何重大的开销。