19

有没有人知道使用 Microsoft 的 WCF 构建的 Web 服务将如何扩展到大量用户?

我正在考虑的级别是 1000 多个客户端用户连接到为我们的应用程序提供业务逻辑的 WCF 服务集合,并且这些服务与数据库通信 - 类似于传统的 3 层架构。

是否有任何特殊的问题会降低性能,或者是否有任何设计经验可以实现这种级别的可扩展性?

4

3 回答 3

15

为了确保您的 WCF 应用程序可以扩展到所需的级别,我认为您可能需要调整您对服务必须满足的统计数据的思考。

您提到为“1000 多个客户用户”提供服务,但要衡量您的服务是否可以在该级别执行,您还需要一些估计的使用数据,这将帮助您计算一些更简单的统计数据,例如您的应用每秒的请求数需要处理。

刚刚完成 WCF 项目的工作后,我们设法在我们的测试硬件上每秒收到 400 个请求,再加上我们预期每个用户每天发出 300 个请求的使用模式表明我们平均每天可以处理 100,000 个用户(假设全天的扁平使用图表)。

此外,由于使 WCF 服务代码无状态是相当普遍的,因此通过添加额外的框来扩展实际的 WCF 代码非常容易,这意味着您的系统的整体性能更可能受到您的业务逻辑和与 WCF 相比,持久层。

于 2008-09-05T23:32:19.750 回答
3

WCF 配置默认限制、并发性和可伸缩性

于 2008-09-04T14:09:58.130 回答
2

可能您首先可以开始考虑的 4 件最重要的事情(除了拥有良好的服务代码之外)与以下项目相关:

  • 绑定- 一些绑定和它们运行的​​协议比其他的更快,tcp 将比任何 http 绑定更快
  • 实例模式——这决定了你的类是如何分配给会话调用者的
  • 单向和双向操作- 如果不需要回复给客户,则进行单向操作
  • 限制- 最大会话/并发调用和实例

他们确实将 WCF 设计为默认安全,因此默认设置非常有限。

于 2008-09-18T06:45:32.073 回答