2012-11-13 7 views
5

우리는 시드니의 다른 사무실에서 SVN 미러 리포지토리를 가질 계획입니다. 우리는 두 위치 모두에서 VisualSVN 서버 v2.5.7을 사용합니다.svnsync에서 큰 파일 처리

svnsync을 사용하기로 결정했습니다. 처음에는 모든 저장소를 동기화하고 싶었고 모든 저장소가 미러 저장소와 동기화 될 때마다 스케줄러가 자정마다 svnsync을 호출합니다.

우리 리포지토리 중 하나의 167 개정을 동기화 할 수 있습니다. 그러나 168 번째 개정판에는 동기화 할 수없는 큰 파일 (약 250MB의 zip 오라클 파일)이 있습니다. 로컬 서버와 원격 서버의 시간 초과를 수정했지만 작동하지 않습니다. 그것은 하나 개의 시점에서 한 시간 정도 스틱과 나에게 다음과 같은 오류를 제공합니다 :

여기

Transmitting file data .......................svnsync: E175002: PUT of '/{some path}/{bigfile}.zip': Could not send request body: An established connection was aborted by the software in your host machine. <{target url}>

내가 VisualSVNs (로컬, 거울)의 아파치 서버에 httpd-custom.conf 파일에서 만든 수정과 같습니다

Timeout 300000 
KeepAlive On 
MaxKeepAliveRequests 0 
KeepAliveTimeout 300000 

<IfModule dav_svn_module=""> 
    # Enable a 1 Gb Subversion data cache for both fulltext and deltas. 
    SVNInMemoryCacheSize 1048576 
    SVNCacheTextDeltas On 
    SVNCacheFullTexts On 
    #SVNCompressionLevel 9 
</IfModule> 

은 나는 타임 아웃을 600000 이상으로 늘 렸지만 그 결과는 같았다. http 모드에서 두 서버를 모두 시작했습니다. 로컬 네트워크에서는 20 분 내에 해당 저장소를 모두 동기화 할 수 있습니다.

인터넷 연결의 업로드 속도가 약 256Kbs인데 인터넷 환경에서이 시간을 기대하지 않습니다. 그러나 SVN 서버가 CollabNet Server를 사용하는 다른 SVN 서버에이 크기의 파일을 쉽게 커밋 할 수 있기 때문에 SVN 서버가 내가 설정 한 시간 초과를 기다려야합니다. 성공적으로 커밋되기까지 2 시간이 걸립니다. 나는 300000 초의 타임 아웃이 2 시간에서 멀다고 생각한다.

+0

1. SVNInMemoryCacheSize 1048576, SVNCacheTextDeltas On, SVNCacheFullTexts On으로 https-custom.conf를 수정하기 전의 행동은 무엇입니까? 2. Repos를 256kb 연결 이상으로 동기화한다는 의미입니까? GPRS/3G입니까? 네트워크 환경에 대한 추가 세부 정보가 크게 향상 될 수 있도록 동작을 재현하고 싶습니다. – bahrep

+1

1. 내가 언급 한 속성없이 확인했습니다. 전체 태그를 제거한 결과 동일한 오류가 발생하기까지 20 분 정도 걸렸습니다. –

+1

2. 답변 1 : 우리는 우리가 사전 제작 버전을 다른 저장소에 저지르는 또 다른 저장소를 가지고 있습니다. 우리는 주 주제에서 언급 한 db dmp 파일과 같이 상당히 큰 파일을 커밋 할 수 있습니다. http 또는 https 대신 svn 스키마를 사용하는 CollabNet 서버를 사용합니다.그것은 svnsrve를 사용하는 것이 느린 연결에서 아파치 http 서버를 사용하는 것보다 훨씬 낫다는 것을 보여줍니다. 답변 2 : 우리는 ADSL을 사용하지만 우리 나라에서는 인터넷 속도에 제한이 있습니다. 여기에 인터넷의 최대 속도는 우리가 이미 (512/256) Kbs를 사용하는 1024/512Kbs (다운로드/업로드)입니다. –

답변

2

VisualSVN 서버 인스턴스를 최신 버전으로 업그레이드하십시오.

Subversion 1.8부터는 neon 대신에 더 나은 성능을 가진 serf HTTP 클라이언트 라이브러리가 사용됩니다. 따라서 불안정한 저 대역폭 연결을 통해 svnsync을 사용할 때 문제가 줄어들 수 있습니다. Multisite Repository Replication (VDFS) :

Regarding our internet connection's uploading speed that is about 256 Kbs

버전 제품군 3.0부터 VisualSVN Server 엔터프라이즈 버전은 낮은 대역폭 병목 현상을 제거하는 데 도움이됩니다 특별한 기능이 있습니다.

VisualSVN 분산 파일 시스템을 기반으로하는 Subversion 저장소는 Write-Through 프록시를 기반으로하는 복제 시스템에 비해 10 배 이상 빠르게 복제됩니다 (지금 Write-Through 프록시를 사용하고 있다고 말할 수있는 한).

이 외에도 VDFS는 잠금을 지원하고 사용자 액세스 권한을 복제하며 모든 복제 된 저장소에서 SVN 후크 스크립트를 일관되게 실행합니다.