5

シドニーの別のオフィスに SVN ミラー リポジトリを配置する予定です。両方の場所で VisualSVN サーバー v2.5.7 を使用します。

svnsyncはそれを行うために使用することにしました。最初は、すべてのリポジトリを同期したかったのですが、それらすべてがミラー リポジトリと同期されると、スケジューラがsvnsync毎晩深夜に呼び出されます。

リポジトリの 1 つの 167 のリビジョンを同期できます。しかし、第 168 リビジョンには、同期できない大きなファイル (圧縮された約 250 MB のオラクル ファイル) があります。ローカル サーバーとリモート サーバーの両方のタイムアウトを変更しましたが、機能しません。ある時点で約1時間固執し、次のエラーが表示されます。

ファイルデータの送信 .........................svnsync: E175002: PUT of '/ {some path} /{ bigfile }.zip': リクエストを送信できませんでしたbody: 確立された接続が、ホスト マシンのソフトウェアによって中止されました。<{対象URL }>

httpd-custom.confVisualSVN(ローカル、ミラー)のApacheサーバーのファイルで行った変更は次のとおりです。

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ですが、今回はインターネット環境では期待できません。しかし、これらのサイズのファイルを CollabNet サーバーを使用する他の SVN サーバーに簡単にコミットできるため、設定したタイムアウトまで SVN サーバーを待機させたいと考えています。正常にコミットされるまでに 2 時間しかかかりません。300000 秒のタイムアウトは 2 時間にはほど遠いと思います。

4

1 に答える 1

2

VisualSVN サーバー インスタンスを最新バージョンにアップグレードします。

Subversion 1.8 以降でserfは、よりパフォーマンスの高い HTTP クライアント ライブラリが、古い の代わりに使用されますneon。したがって、svnsync不安定な低帯域幅接続で使用する場合に問題が少なくなる場合があります。

約256 Kbsのインターネット接続のアップロード速度について

バージョン ファミリー 3.0 から、VisualSVN Server Enterprise Edition には、低帯域幅のボトルネックを解消するのに役立つ特別な機能、マルチサイト リポジトリ レプリケーション (VDFS) があります。

VisualSVN 分散ファイル システムに基づく Subversion リポジトリは、ライトスルー プロキシに基づくレプリケーション システムと比較して、10 倍以上高速にレプリケートされます (現在、ライトスルー プロキシを使用していると私が知る限り)。

これに加えて、VDFS はロックをサポートし、ユーザー アクセス許可をレプリケートし、レプリケートされたすべてのリポジトリで SVN フック スクリプトの一貫した実行を保証します。

于 2016-01-19T11:22:19.897 に答える