자주 액세스하는 일부 파일을 다른 파일 시스템으로 재배치해야 합니다. 가장 쉬운 방법은 파일이 포함된 디렉터리를 새 파일 시스템으로 이동하고 이전 위치에서 심볼릭 링크를 만드는 것입니다.
즉. /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초가 걸립니다.
이와 같은 파일 메타데이터도 매우 효율적으로 캐시할 수 있습니다. 대부분의 캐시는 자주 액세스되고 크기가 작기 때문에 메타데이터를 상당히 높은 우선순위로 간주합니다.
짧은 대답 - 아니요. 상당한 오버헤드가 발생할 가능성은 없습니다.