【问题标题】:How well will WCF scale to a large number of client users?WCF 将如何扩展到大量客户端用户?
【发布时间】:2010-09-07 19:31:45
【问题描述】:

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

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

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

【问题讨论】:

    标签: wcf scalability soa


    【解决方案1】:

    【讨论】:

    • -1 这似乎并没有真正显示出限制。只是可以配置的值。
    【解决方案2】:

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

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

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

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

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-02-13
        • 1970-01-01
        • 1970-01-01
        • 2015-05-24
        • 1970-01-01
        • 1970-01-01
        • 2021-02-08
        相关资源
        最近更新 更多