NFS 서버 (어떤 종류의 NAS 기기이므로 어떤 브랜드 또는 구성 방법에 대해 알지 못함)는 단일 파일 시스템을 Linux 클라이언트에 내보내고 마운트했습니다. 서버와 클라이언트는 모두 동일한 로컬 네트워크에 있습니다. 원격 파일 시스템은 다음과 같이 구성됩니다 :
/nfs/server/mount/data1/
client_uuid_1/
data_20170101.gz
data_20170102.gz
...
client_uuid_2/
data_20170101.gz
data_20170102.gz
...
...
data2/
client_uuid_3/
data_20170101.gz
data_20170102.gz
...
...
총 40,000 개의 client_uuid_N 디렉토리와 300,000 개의 데이터 파일이 있습니다. 새 데이터 파일에 대해 모든 디렉토리를 스캔해야하는 스크립트가 glob 작업을 수행하는 것만으로 매우 느리다는 것을 알았으므로 더 조사하여이 기괴한 현상을 발견했습니다.
find /nfs/server/mount/data[12] -name data_*.gz > /dev/null
파일 시스템을 다시 마운트 한 후 처음으로 실행 하면 약 5 분 안에 완료됩니다. 그것은 이미 고통스럽게 느리고 일종의 문제를 제안하지만 더 이상해집니다.
초 내가 그 명령을 실행할 때, 그것은 소요 네 번 이상 거의 20 분 -. 이것은 내가 기대했던 것과 정확히 반대입니다.
왜 이런 일이 일어날 수 있습니까?