2012-11-13 42 views
5

Chúng tôi dự định có một kho lưu trữ gương SVN tại văn phòng khác của chúng tôi ở Sydney. Chúng tôi sử dụng máy chủ VisualSVN v2.5.7 ở cả hai vị trí.xử lý tệp lớn trong svnsync

Tôi quyết định sử dụng svnsync để làm điều đó. Lúc đầu, tôi muốn đồng bộ tất cả các kho lưu trữ của chúng tôi và khi tất cả chúng được đồng bộ hóa với kho lưu trữ nhân bản, một trình lên lịch sẽ gọi svnsync mỗi nửa đêm.

Nó có thể đồng bộ hóa 167 bản sửa đổi của một trong các kho lưu trữ của chúng tôi. Nhưng trên bản sửa đổi thứ 168, chúng tôi có một tệp lớn (tệp oracle nén khoảng 250 MB) không thể đồng bộ hóa được. Mặc dù tôi đã sửa đổi thời gian chờ của cả máy chủ cục bộ và máy chủ từ xa nhưng nó không hoạt động. Nó dính khoảng một giờ tại một thời điểm và mang lại cho tôi những lỗi sau:

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}>

Dưới đây là những sửa đổi tôi đã thực hiện trong file httpd-custom.conf trong Apache server của VisualSVNs (địa phương, gương):

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> 

Tôi thậm chí tăng thời gian chờ lên 600000 hoặc nhiều hơn, nhưng kết quả là như nhau. Tôi đã khởi chạy cả hai máy chủ ở chế độ http. Trên mạng cục bộ của chúng tôi, nó có thể đồng bộ tất cả kho lưu trữ đó trong 20 phút.

Về tốc độ tải lên kết nối internet của chúng tôi là khoảng 256 Kbs, tôi không mong đợi thời gian này trong môi trường internet. Nhưng tôi muốn các máy chủ SVN đợi thời gian chờ mà tôi đặt cho chúng, vì chúng ta có thể dễ dàng cam kết các tệp của các kích thước này vào các máy chủ SVN khác sử dụng máy chủ CollabNet. Nó chỉ mất 2 giờ để được cam kết thành công. Tôi nghĩ rằng thời gian chờ 300000 giây là xa 2 giờ.

+0

1. Hành vi trước khi bạn sửa đổi https-custom.conf với SVNInMemoryCacheSize 1048576, SVNCacheTextDeltas On, SVNCacheFullTexts On là gì? 2. Bạn có nghĩa là bạn đồng bộ hóa repo của bạn qua kết nối 256kb không? Có phải là GPRS/3G không? Tôi muốn tái tạo hành vi để mọi chi tiết bổ sung về môi trường mạng của bạn sẽ được đánh giá cao. – bahrep

+1

1. Tôi đã kiểm tra nó mà không có các thuộc tính bạn đã đề cập. Tôi đã xóa toàn bộ thẻ và kết quả là nó chỉ cần 20 phút trước khi nó gặp lỗi tương tự. –

+1

2. Trả lời 1: Chúng tôi có một kho lưu trữ khác, chúng tôi cam kết các phiên bản tiền sản xuất của chúng tôi vào đó. Chúng tôi có thể cam kết tệp khá lớn như tệp dmp db tôi đã đề cập trong chủ đề chính. Nó sử dụng máy chủ CollabNet sử dụng lược đồ svn thay vì http hoặc https.Nó cho thấy bằng cách sử dụng svnsrve là tốt hơn nhiều so với sử dụng máy chủ http apache trong các kết nối chậm. Trả lời 2: chúng tôi sử dụng ADSL nhưng ở nước ta chúng tôi có giới hạn về tốc độ internet. Tốc độ tối đa của Internet ở đây là 1024/512 Kbs (Tải xuống/Tải lên), mà chúng tôi đã sử dụng (512/256) Kbs. –

Trả lời

2

Nâng cấp phiên bản máy chủ VisualSVN của bạn lên phiên bản mới nhất.

Bắt đầu với Subversion 1.8, serf thư viện HTTP client với hiệu suất tốt hơn được sử dụng thay vì lớn tuổi neon. Do đó, bạn có thể thấy ít sự cố hơn khi sử dụng svnsync qua kết nối băng thông thấp không ổn định.

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

Bắt đầu với phiên bản gia đình 3.0, VisualSVN Server Enterprise Edition có một tính năng đặc biệt mà sẽ giúp bạn để loại bỏ các nút cổ chai băng thông thấp: Multisite Repository Replication (VDFS).

kho lưu trữ Subversion dựa trên hệ thống tệp phân tán VisualSVN sao chép nhanh hơn 10 lần so với hệ thống sao chép dựa trên Proxy ghi thông qua (như tôi có thể nói bạn đang sử dụng Proxy ghi đè ngay bây giờ).

Ngoài việc này, VDFS hỗ trợ khóa, sao chép quyền truy cập của người dùng và đảm bảo thực thi nhất quán tập lệnh móc SVN trên tất cả các kho lưu trữ được sao chép.

Các vấn đề liên quan