우리는 시드니의 다른 사무실에서 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 시간에서 멀다고 생각한다.
1. SVNInMemoryCacheSize 1048576, SVNCacheTextDeltas On, SVNCacheFullTexts On으로 https-custom.conf를 수정하기 전의 행동은 무엇입니까? 2. Repos를 256kb 연결 이상으로 동기화한다는 의미입니까? GPRS/3G입니까? 네트워크 환경에 대한 추가 세부 정보가 크게 향상 될 수 있도록 동작을 재현하고 싶습니다. – bahrep
1. 내가 언급 한 속성없이 확인했습니다. 전체 태그를 제거한 결과 동일한 오류가 발생하기까지 20 분 정도 걸렸습니다. –
2. 답변 1 : 우리는 우리가 사전 제작 버전을 다른 저장소에 저지르는 또 다른 저장소를 가지고 있습니다. 우리는 주 주제에서 언급 한 db dmp 파일과 같이 상당히 큰 파일을 커밋 할 수 있습니다. http 또는 https 대신 svn 스키마를 사용하는 CollabNet 서버를 사용합니다.그것은 svnsrve를 사용하는 것이 느린 연결에서 아파치 http 서버를 사용하는 것보다 훨씬 낫다는 것을 보여줍니다. 답변 2 : 우리는 ADSL을 사용하지만 우리 나라에서는 인터넷 속도에 제한이 있습니다. 여기에 인터넷의 최대 속도는 우리가 이미 (512/256) Kbs를 사용하는 1024/512Kbs (다운로드/업로드)입니다. –