많은 수의 파일이있는 NTFS 드라이브의 성능 저하


12

이 설정을보고 있습니다.

  • Windows Server 2012
  • 1TB NTFS 드라이브, 4KB 클러스터, ~ 90 % 가득 참
  • 10,000 개 폴더에 저장된 ~ 10M 파일 = ~ 1,000 개 파일 / 폴더
  • 대부분 아주 작은 파일 <50KB
  • 디스크 어레이에서 호스팅되는 가상 드라이브

응용 프로그램이 임의의 폴더에 저장된 파일에 액세스하면 각 파일을 읽는 데 60-100ms가 걸립니다. 테스트 도구를 사용하면 파일을 열 때 지연이 발생하는 것으로 보입니다. 그런 다음 데이터를 읽는 데 시간이 조금 걸립니다.

요약하면 이는 50 개의 파일을 읽는 데 3-4 초가 걸리며 예상보다 훨씬 많은 시간이 소요됨을 의미합니다. 쓰기는 일괄 적으로 수행되므로 여기서 성능은 문제가되지 않습니다.

나는 이미이 숫자에 도달하기 위해 SO와 SF에 대한 조언을 따랐다.

읽기 시간에 대해 어떻게해야합니까?

  • 파일 당 60-100ms가 정상이라고 생각하십시오 (그렇지 않습니까?)
  • 설정을 개선 할 수있는 방법이 있습니까?
  • 정확한 시간을 알 수있는 저수준 모니터링 도구가 있습니까?

최신 정보

  1. 주석에서 언급 한 바와 같이 시스템은 Symantec Endpoint Protection을 실행합니다. 그러나이 기능을 비활성화하면 읽기 시간이 변경되지 않습니다.

  2. PerfMon은 읽기 당 10-20ms를 측정합니다. 이것은 모든 파일 읽기가 ~ 6 I / O 읽기 작업을 수행한다는 것을 의미합니다. 이것이 MFT 조회 및 ACL 검사입니까?

  3. MFT의 크기는 ~ 8.5GB이며 주 메모리보다 큽니다.


무언가를 배제하기 위해 RAMMap 의 스크린 샷을 공유 하시겠습니까 ?
Tomas Dabasinskas

파일 요약 테이블을 의미합니까? 이제 메모리가 900MB 인 SYMEFA.DB 파일을 보면 Symantec Endpoint Protection이 시스템에 설치되어 있음을 상기시켜줍니다. 그게 범인일까요? 좀 더 알아 볼게요.
Paul B.

실제로, 나는 메타 파일 사용법에 더 관심이있었습니다
Tomas Dabasinskas

알았어 메타 파일은 총 250MB, 활성 40 개, 대기 210 개를 표시합니다. 정상입니까?
Paul B.

네, 그렇습니다
Tomas Dabasinskas

답변:


5

서버의 메모리가 부족합니다. 모든 파일 액세스에는 메모리에 NTFS 메타 파일 데이터를 캐싱하는 대신 여러 디스크 읽기가 필요했습니다. 평소와 같이 문제는 일단 확인하면 분명합니다. 내 관점을 흐리게 한 것을 공유하겠습니다.

  • 서버는 작업 관리자와 RamMap에서 사용 가능한 2GB 메모리를 보여주었습니다. 따라서 Windows는 사용 가능한 메모리가 메타 파일 데이터의 의미있는 부분을 보유하기에 충분하지 않다고 결정했습니다. 또는 일부 내부 제한으로 메타 파일 데이터에 마지막 비트의 메모리를 사용할 수 없습니다.

  • RAM 작업 관리자를 업그레이드 한 후 사용중인 메모리가 더 이상 표시되지 않습니다. 그러나 RamMap은 여러 GB의 메타 파일 데이터가 대기 데이터로 보유되고 있다고보고했습니다. 분명히 대기 데이터는 상당한 영향을 줄 수 있습니다.

분석에 사용되는 도구 :

  • fsutil fsinfo ntfsinfo driveletter:NTFS MFT 크기 (또는 NTFSInfo )를 표시
  • 메모리 할당을 보여주는 RamMap
  • 프로세스 모니터 는 모든 파일 읽기 앞에 drive : \ $ Mft 및 drive : \ $ Directory에 대한 약 4 개의 읽기 조작이 있음을 표시합니다. $ Directory의 정확한 정의를 찾을 수 없지만 MFT관련이있는 것 같습니다 .

실제 메모리를 늘리면 응답 시간이 향상 되었습니까? 레지스트리 설정을 구성하지 않았습니까?
D-Klotz

1
예. 나는 이전에 레지스트리 설정을 가지고 놀았습니다. 그러나 결국 메모리를 추가 한 후에는 변경이 필요하지 않았습니다.
Paul B.

대기 메모리는 프로그램을 사용할 수있는 메모리 영역입니다. 그러나 아직 사용되지 않았기 때문에 OS는이를 캐시로 활용합니다. 어떤 프로그램이 그 메모리를 필요로하면 즉시 해제 될 것입니다
phuclv
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.