- WPF .NET 4.0 应用程序
- 目前托管在 Citrix
- MSSQL 2008 R2 后端
- 数据库大小高达 100 GB
- TSQL 搜索将一次返回 100 个对象并命中 12 个表
- 大多数搜索 < 1 秒,几乎从不 > 10 秒
- TSQL (SP) 更新是一次一个
- 读取:写入 > 10000:1
- 一个数据库可能有 100 个活动用户,但活动连接永远不会超过 10 个。
- SQL 框在执行数据加载时仅超过 25%,然后保持在 50% 以下
通过 WCF 移动到客户端服务器。我的第一个 WCF。
- 由于没有网络客户端考虑将托管作为内部服务?
- 稍后将在 Azure 上创建姊妹产品和主机
- 考虑需要会话?
- 如果我想错了请告诉我
我迷路的地方是 OperationContract Instancing 和 Concurrency。
对于搜索实例,我应该去 PerSession 吗?如果是这样,我应该保持 SQL 连接打开吗?
更新与搜索不同。有 6 种不同的更新 OperationContracts(针对不同的数据类型)。更新是一次一个,通过 PK 更新,将命中源表和日志表。作为 Single Instance 和 ConcurrencyMode Mutiple 并保持连接可能更有意义?如果是这样,我是否管理并发?
还有一个批量更新,但我现在愿意将其视为一系列单一更新。
主要目标是数据完整性,然后是可用性,然后是可扩展性。
我知道可能没有很难的答案。任何指针或参考资料?我应该如何进行压力测试?如何管理和监控流程?
有很多数据要测试,我会报告结果。