Microsoft Sync Framework - 性能和可伸缩性

时间:2012-04-11 13:32:56

标签: sql-server performance sql-server-2008 scalability microsoft-sync-framework

我正在尝试在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环境的经验?

  • 有可能吗?
  • 在实施时要考虑哪些重要因素?
  • 我可以期待的物理限制是什么?

2 个答案:

答案 0 :(得分:7)

要记住的一些事情:

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

  2. 范围定义 - 不要在一个范围内转储所有表。不同的表具有不同的特征(例如,仅下载,只读,频繁更新,频繁更新等)。基于其特征的组表。

  3. 批处理 - 如果更改很小,请不要批处理。由于批处理必须编写文件,因此批处理会产生性能开销,因此必须从文件中重新构建更改数据集。

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

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

  6. 编辑:

    另外,请在此处查看其他范围注意事项:Sync Framework Scope and SQL Azure Data Sync Dataset Considerations

答案 1 :(得分:0)

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

是否符合您的要求

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