3

我正在尝试在 SQL Server 数据库上使用 Microsoft Sync Framework 2.1。将有大量并发最终用户,与中央数据库服务器同步。

进一步的规格是:

  • 1500 个并发客户端连接到 1 个中央数据库服务器
    • 客户正在使用 MS SQL Server Express 2008 R2
    • 服务器正在使用 MS SQL Server Enterprise 2008 R2
  • 同步间隔短(大约 5 分钟)
  • 数据库大小为 5 GB
  • Web 服务将用作服务器端 SyncProvider

有没有人有类似这样的 Sync Framework 环境的经验?

  • 是否可以?
  • 实施时需要考虑哪些重要事项?
  • 我可以预期的物理限制是多少?
4

2 回答 2

7

一些事情要记住:

  1. 范围数 - 您可能希望为客户端与服务器保持 1 比 1 的范围比率,而不是 1500 个客户端范围与一个服务器范围。这将每个客户端的同步知识彼此隔离,您甚至可以删除并重新创建客户端范围而不影响其他范围。同步知识也将非常紧凑。

  2. 范围定义 - 不要在一个范围内转储所有表。不同的表具有不同的特性(例如,仅下载、只读、更新频率较低、更新频率高等)。根据表的特征对表进行分组。

  3. 批处理 - 如果更改很小,请不要批处理。您会在批处理中产生性能开销,因为批处理必须写入文件,并且稍后,它必须从文件中重构更改数据集。

  4. 元数据清理 - 设置元数据保留和元数据清理过程。这应该会减少同步元数据(跟踪表中的行和同步知识)。

  5. WCF 配置 - 注意您的 WCF 配置条目,例如超时、消息大小等...也要注意这个问题:http: //support.microsoft.com/kb/2567595

编辑:

此外,请在此处查看其他范围注意事项:同步框架范围和 SQL Azure 数据同步数据集注意事项

于 2012-04-12T03:06:46.577 回答
0

此处提供的示例:http ://www.rajneeshnoonia.com/blog/2012/03/n-tier-sync-framework/

有什么接近你的要求吗

1:1 范围定义 => 我们定义模板并基于此模板为每个客户端配置范围。在此 senerio 中,T1 在 S1 和 S2 中定义,但是过滤器用于识别每个范围的行级记录。

于 2012-06-10T10:05:07.513 回答