더 나은 파일 시스템을 갖춘 Windows


14

Windows 워크 스테이션에서 작업하는 Java 개발자로서의 관찰에서 NTFS는 Linux 파일 시스템에 비해 느립니다. 문제는 NTFS 드라이버에 수동으로 조정할 수있는 것, 예를 들어 캐시에 더 많은 메모리를 제공하는 것입니까? 실험 알고리즘을 사용 하시겠습니까? 이것이 가능하지 않다면 Windows에서 사용할 수있는 다른 파일 시스템이 있습니까? 심지어 상용 일 수도 있고 NTFS보다 빠릅니까?

분명히, Maven 프로젝트의 컴파일 속도를 향상시키지 않고 OS에 대한 전반적인 개선을 원합니다. Linux 파일 시스템에 비해 NTFS가 오래되고 느리다는 느낌이 들었습니다. 지구상에서 가장 인기있는 OS에는 파일 조각이 하나만있어 여전히 수동 조각 모음이 필요하다는 것이 이상합니다. 아마도이 있습니다 대안은?

업데이트 : 여기 내 관찰에 따르면 느린 것이 있습니다. 디스크에서 많은 읽기 / 쓰기 작업을 의미하는 프로젝트를 빌드 / 패키징하고 있습니다. 빌드 시스템은 크로스 플랫폼 (Java, Maven)이므로 Ubuntu로 부팅 할 때 정확히 동일한 작업을 수행 할 수 있습니다.

리눅스에서는 빌드가 적어도 1/3 더 빠릅니다. 따라서 파일 시스템에 대한 질문입니다. 잘못 놓아서 죄송합니다.


7
NTFS는 어떤 식으로 느립니까? 정확히 동일한 작업을 위해 다른 파일 시스템보다 속도가 느린 지 확인하기 위해 속도를 어떻게 측정하고 있습니까? NTFS는 Windows가 자체적으로 부팅 할 수있는 유일한 기본 지원 파일 시스템 (제한이있는 FAT 제외)이지만 비 부팅 파티션 용 ext3 파일 시스템 드라이버를 얻을 수 있다고 생각합니다.
Mokubai

예, NTFS를 어떻게 느리게 계십니까?
JL.

1
그러나 여기서 질문은 무엇입니까? NTFS 속도를 높이는 방법입니까, 아니면 Windows가 다른 파일 시스템을 사용할 수 있습니까?
Ivo Flipse 2019

1
@ ivo-flipse : 혼동을 일으켜 죄송합니다. 두 질문에 대해 배우고 싶습니다. 마찬가지로 Windows에서 NTFS에 대한 입증 된 대안이 없습니까? 그렇지 않은 경우 일반적으로 일부 캐시에 더 많은 메모리를 제공하거나 실험 메커니즘을 활성화하는 등 NTFS의 성능을 향상시킬 수 있습니까?
Yuri Ushakov

1
@ sinni800 그건 정말 미안합니다. 필자는 데스크탑 OS로서 리눅스가 완벽 함과는 거리가 멀다는 것을 인정하지만 서버 OS는 거의 모든 워크로드에서 Windows보다 훨씬 낫다. 베타 품질 운영 체제를 사용하는 상위 100 만 개의 웹 사이트 중 96.6 %에 대해서는 의문의 여지가 없습니다.
mjaggard

답변:


3

Windows 호스트에서 ZFS와 같은 것을 사용할 수 있기를 원하지만 NTFS는 끔찍한 파일 시스템이 아닙니다. 대부분의 "현대"파일 시스템 기능 (확장 속성, 저널링, ACL, 이름 지정)을 지원하지만 탐색기 및 이러한 기능을 지원하지 않는 대부분의 다른 앱에 의해 방해를받습니다.

성능을 절대적으로 떨어 뜨릴 수있는 한 가지는 디렉토리에 "너무 많은"항목이 있다는 것입니다. 한 디렉토리에서 수천 개의 항목을 전달하면 모든 것이 크롤링 속도가 느려집니다. 문자 그대로이 문제가 발생하면 NTFS가 항목을 만들거나 제거하기를 기다리는 전체 시스템이 중지됩니다.

예전에는 .NET 어셈블리 용 HTML 기반 문서를 생성하는 앱으로 작업했습니다. 속성, 메소드, 클래스, 네임 스페이스 등당 하나의 파일을 작성합니다. 더 큰 어셈블리의 경우 20 개 이상의 k 파일이 모두 단일 디렉토리에 멋지게 덤프됩니다. 머신은 NTFS에서 빌드가 차단되는 동안 몇 시간을 소비했습니다.

이론적으로 Windows는 파일 시스템 플러그인을 지원하므로 기본 ZFS, ext3 또는 FUSE까지 가능합니다. 실제로, API는 문서화되어 있지 않으므로 전적으로 본인의 책임입니다.

이제 Java 개발을하고 있으므로 시스템에 다른 OS를 설치하거나 Windows에서 VM을 사용할 수 있습니까?

또한 플랫폼 독립적 인 파일 시스템 벤치 마크 (iozone, bonnie ... 아마도 내 머리 꼭대기에서 알지 못하는 더 현대적인 것들이있을 수 있습니다. 실제로 파일 시스템이 당신을 방해하거나 다른 것이 있다면. 조기 최적화 및 그 모든 것 ...


설치 가능한 파일 시스템은 2000 년 이후로 문서화되었습니다. 플러그인 부족은 항상 어려움과 관심 부족으로 이어졌습니다. 여전히 어렵지만 FUSE 및 FSDK를 사용할 수 있습니다.
user165568

5
  • 마지막 액세스 시간 끄기
  • 짧은 파일 이름 끄기
  • 알림 삭제 끄기
  • 인덱싱 해제
  • 저널링 비활성화
  • 쉐도우 복사본과 이전 버전 및 할당량 및 공유를 비활성화합니다.
  • 우회 트래버스 검사 활성화

실제 솔루션은 빌드 시스템을 다시 작성하여 이식성 프레임 워크 아래의 유닉스 API (fopen 등) 대신 기본 Windows 파일 시스템 API를 사용하도록하는 것입니다. 그러나 그것은 일어나지 않을 것이므로 기본적으로 당신은 그들이 받아 들일만한 수준의 성능에 갇혀 있습니다.

원래 Windows 용으로 작성되지 않은 시스템을 사용하는 경우 디렉토리 탐색이 매우 제대로 처리되지 않았으므로 디렉토리 트리가 매우 평평한 지 확인하십시오.


1
더 많은 정보를 제공하면 더 나은 답변이 될 것입니다. 1. 각각에 대해 얼마나 많은 시간을 절약 할 수 있는지 측정하고 2. 이러한 변경을 수행하는 방법.
mjaggard

3

새로운 Windows OS에서 지원되며 NTFS보다 빠른 파일 시스템이 하나 있습니다. exFAT입니다. 시스템 드라이브에 사용할 수 있습니다. 그러나 어떤 합병증이 있는지 알 수 없습니다.

그래도 다른 파티션에 사용할 수 있습니다. 임의의 읽기 / 쓰기 작업으로 더 빠릅니다. 예를 들어 SSD에 적합합니다.


1
지금 막 시험해 보니 exFAT가 느려 보입니다. 첫 번째 NTFS 기반 빌드 : 36.083s, 두 번째 : 19.884s. exFAT의 첫 빌드 : 41.160 초, 두 번째 : 27.291 초.
Yuri Ushakov

허. exFAT는 현재 Windows에서 기본적으로 지원되는 다른 파일 시스템이며 시스템 드라이브로 사용할 수 있습니다 (권한이 존재 함). 온라인에서 한 번 테스트를 보았으며 무작위 읽기로 exFAT가 더 빠르다고 말했습니다.
sinni800

exFAT가 더 빠르다고 테스트 한 이유는 32768 개 이상의 항목이 포함 된 디렉토리에서 테스트하지 않았기 때문일 수 있습니다. 또한 내부 변경으로 인해 최신 버전의 Windows가 더 느려질 수 있습니다. 신 (MS)은 opendir()(또는 동등한) 호출 에서 어떤 일이 발생하는지 알고 있습니다.
MattBianco

2

프로젝트 폴더에 대한 액세스 / 쓰기 검사를 수행하는 바이러스 백신 프로그램이 있습니까?

컴파일에는 많은 작은 파일을 빠르게 연속해서 읽고 쓰는 작업이 포함되므로 바이러스 스캐너를 압도 할 수 있습니다. 제외 된 폴더 목록에 프로젝트 폴더를 추가하고 상황이 개선되는지 확인하십시오.

리눅스에서는 (아마도) 안티 바이러스 소프트웨어가 없을 것입니다 ....


Defender가 꺼져 있고 AV가 종료되었습니다 (또는 경우에 따라 완전히 제거됨).
유리 Ushakov

@ 유리-오 잘.
ChrisF
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.