3

SQL ServerデータベースでMicrosoft Sync Framework 2.1を使用しようとしています。同時のエンドユーザーが多数存在し、中央データベースサーバーと同期します。Microsoft Sync Framework - パフォーマンスとスケーラビリティ

さらなる仕様は以下のとおりです。

  • 1500同時クライアントが2008 R2
  • Serverは、MS SQL Server Enterpriseの2008 R2
  • を使用しているMS SQL Server Expressを使用している1台の、中央のデータベースサーバー
    • クライアントに接続します
  • 短い同期間隔(約5分)
  • Databas Eの大きさは、Webサービスは、サーバー側のSyncProviderに

として使用されます5ギガバイト

  • になります誰もがこれに似たSync Frameworkの環境と経験を持っていますか?

    • 可能でしょうか?
    • これを実装する際に重要なことは何ですか?
    • 私が期待できる物理的限界は何ですか?心に留めておくべき
  • 答えて

    7

    いくつかのもの:スコープの

    1. 号 - あなたが代わりに対して1500のクライアントスコープのクライアントからサーバーへの1対1の範囲の比率を維持したい場合があります1つのサーバースコープこれにより、各クライアントの同期知識が互いに分離されます。クライアントスコープを削除して再作成し、他のスコープに影響を与えることさえありません。シンク知識も非常にコンパクトになります。

    2. スコープ定義 - すべてのテーブルを1つのスコープにダンプしません。異なるテーブルは異なる特性(例えば、ダウンロードのみ、読み取り専用、頻度の低い更新、頻繁に更新されるなど)を有する。その特性に基づいてグループテーブルを作成します。

    3. バッチ処理 - 変更が少ない場合はバッチ処理を行いません。バッチ処理ではファイルを書き込む必要があり、後でファイルから変更データセットを再構成する必要があるため、バッチ処理でパフォーマンスのオーバーヘッドが発生します。

    4. メタデータのクリーンアップ - セットアップメタデータの保存とメタデータのクリーンアッププロセス。これにより、同期メタデータ(追跡テーブル内の行と同期知識)が減少するはずです。

    5. WCF設定 - タイムアウト、メッセージサイズなどのWCF設定エントリをウォッチします。同様に、この問題に注意してください:http://support.microsoft.com/kb/2567595

    EDIT:また

    、ここでは他の範囲の考慮事項を見て:Sync Framework Scope and SQL Azure Data Sync Dataset Considerations

    +0

    あなたの答えに感謝します。私たちはすでにあなたのポイント2,3、および5を考慮に入れます。しかし、私はあなたの最初の点について興味があります。 1対1スコープで何を意味するのかを少し説明できますか?同じテーブルを指す複数のスコープを作成すると、多くの問題(たとえば100%競合)が発生します。 – hwcverwe

    +1

    通常、サーバーにスコープをプロビジョニングし、getdescriptionforscopeを使用してクライアントに適用します。したがって、ほとんどの場合、サーバーにスコープが1つ(scope_infoテーブルの1つの行)と、そのスコープと同期する複数のクライアントスコープしかありません。スコープは同期知識内のすべてのスコープのレプリカIDを追跡しますので、レプリカのキーマップは1501のマッピング(1500のクライアントIDとサーバーID)になります。また、クライアントのスコープを変更する場合は、他の1499クライアントがサーバー上で同じスコープを共有しているため、サーバースコープを変更することはできません。 – JuneT

    +0

    複数のスコープを持つために100%の競合が発生する方法がわからない場合、クライアントをどのように初期化していますか?データベースの1つのマスターコピーを各クライアントにコピーしていますか? – JuneT

    0

    ここに提供されるサンプル:http://www.rajneeshnoonia.com/blog/2012/03/n-tier-sync-framework/

    は、いくつかのですあなたの要件に近いもの

    1:1スコープが定義されました=>テンプレートの定義とスコープの設定このsenerioでは、T1はS1とS2で定義されていますが、フィルタは各スコープの行レベルレコードを識別するために使用されます。

    +0

    貴重なリンクをありがとう。あなたが書いたnice blogpost :) – hwcverwe

    +4

    あなたのリンクは死んでいます – Guillaume

    関連する問題