Subversion-수천 개의 작은 파일을 체크 아웃하는 것이 훨씬 느립니다. 병목 현상은 어디에 있습니까?


3

리포지토리 서비스 전용 2 코어 3Ghz 서버가있는 기가비트 LAN을 사용하고 있습니다.

약 30,000 개의 작은 파일이있는 프로젝트를 체크 아웃하면 초당 약 1MB로 스트리밍됩니다. 약 140MB가 있으므로 다소 시간이 걸립니다.

병목 현상은 하드 드라이브가 아니라 결국 SSD에 있습니다. 처리 문제입니까?

Windows Server 2008


1
아마도 네트워크 일 것입니다. 나는 당신이 그것을 사용하는 유일한 사람이 아니라고 생각합니다. 그리고 1MB / s의 140MB는 나에게별로 보이지 않습니다. 2 분이 채 걸리지 않으며 한 번만 수행하면되고 나중에 작은 부품 만 업데이트하면됩니다.
petersohn

답변:


3

서브 버전은 가지고 정말 특히 Windows의 성능 나쁜 실적을. 문제는 모든 파일 시스템 작업이 빠르다는 가정하에 있습니다. 그래서 그들은 업데이트 전에 수천 개의 파일을 만지고 업데이트 후에 다시 만집니다. 그리고 일반적으로 다운로드 된 모든 파일은 최소한 쓰기와 이름이 바뀝니다.

문제는 NTFS가 수천 개의 파일 (SSD조차도 아니고 여기에서 볼 수 있습니다. 할 수있는 일은 많지 않지만 비교를 위해 Linux 또는 다른 Unix와 같은 속도에서는 속도가 빠를 수 있습니다.


1

두 가지 문제가 있습니다 :

a) ntfs : 8.3 파일 이름에 대한 지원을 활성화 한 경우, 고유 8.3 이름이 창에 나타납니다. 이 이름을 추가 이름으로 "첨부"하고 디렉토리의 파일 이름이 매우 유사한 경우 고유 8.3 이름을 사용하는 알고리즘보다 많은 작업이 필요합니다. 알고리즘의 작동 방식은 "946-947 페이지의 Windows 내부 5 판"에 잘 설명되어 있습니다. 해당 기능을 비활성화 할 수 있습니다. http://support.microsoft.com/?scid=kb;en-us;121007&x= 15 & y = 12 입니다.

작업 디렉토리에 30k 파일을 체크 아웃 할뿐만 아니라 svn은 30k 파일 각각의 로컬 복사본으로 .svn 하위 폴더를 만듭니다.

b) 탐색기 : 탐색기에는 많은 항목이있는 폴더를 표시하는 작업이 꽤 있습니다. 모든 통계를 목록에 표시하고 아이콘을 생성하는 것은 시간이 많이 걸립니다.

나는 주로 문제를 의심 할 것이다 a)


(a)는 각 폴더에 파일이 몇 개인 지에 따라 문제가되지 않을 수 있습니다. 예를 들어, 대부분의 Java 프로젝트는 많은 수의 파일과 많은 수의 디렉토리를 가지므로 8.3 파일 이름 생성의 영향을 무시할 수 있습니다. 30k 정도의 작은 파일의 경우 단일 디렉토리에서도 많은 문제가 발생합니다. (b)의 경우 Explorer는 매우 빠르며 사용중인 OFM보다 훨씬 빠릅니다.
Joey

a) 8.3 이름의 문제는 분명히 같은 디렉토리에만 존재합니다. 그리고 b) 10k 파일 만있을 때 탐색기에 문제가 있었고 파일 변환 프로그램으로 인해 90k 파일을 만들었습니다. 탐험가는 할 일이 많습니다
akira
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.