Microsoft Sync Framework - Performance and scalability

前端 未结 2 1273
温柔的废话
温柔的废话 2021-02-06 17:58

I am trying to use Microsoft Sync Framework 2.1 on a SQL Server database. There will be a high number of concurrent end users, synchronizing with a central database server.

2条回答
  •  轻奢々
    轻奢々 (楼主)
    2021-02-06 18:28

    some things to keep in mind:

    1. No. of scopes - you might want to keep a 1-to-1 scope ratio for client-to-server instead of 1500 client scopes against one server scope. this isolates the sync knowledge of each client from one another, you may even drop and recreate a client scope without affecting other scopes. sync knowledge will be much compact as well.

    2. Scope definition - dont dump all tables in one scope. different tables have different characteristics (e.g., download only, read-only, less frequent update, frequently updated, etc...). group tables based on their characteristics.

    3. Batching - if the changes are small, dont batch. you incur performance overhead in batching since the batching has to write files and later on, it has to reconstitute the change dataset from the files.

    4. Metadata Cleanup - setup metadata retention and metadata cleanup process. this should reduce the sync metadata (rows in the tracking tables and the sync knowledge).

    5. WCF config -watch out for your WCF config entries such as timeout, message size, etc... be aware of this issue as well: http://support.microsoft.com/kb/2567595

    EDIT:

    Also, have a look at other Scope considerations here: Sync Framework Scope and SQL Azure Data Sync Dataset Considerations

提交回复
热议问题