【问题标题】:Increase loading and concurrent users on WCF Service增加 WCF 服务上的加载和并发用户
【发布时间】:2013-02-27 12:09:04
【问题描述】:

我有一个内部网站,它多次调用托管在 IIS 7 Windows 2008 R2 服务器中的 WCF 服务。

在被 50-75 个用户使用的重负载期间,它在 WCF 调用中返回 FaultException。我非常怀疑这是因为用户加载,因为我们使用同一个网站将近一年,而且我们之前没有遇到同样的错误。有些调用可能需要 2 或 3 秒才能执行。

所以,我在主机服务的 web.config 文件中添加了以下行。我需要在任何地方添加任何东西吗?我也需要在客户网站上做任何事情吗?谢谢。

<serviceBehaviors>
<behavior>
    <serviceThrottling 
    maxConcurrentCalls="100" 
    maxConcurrentSessions="100" 
    maxConcurrentInstances="100"
      />

</behavior>
</serviceBehaviors>

【问题讨论】:

  • 我认为限制是 10。

标签: asp.net wcf iis-7


【解决方案1】:

在任意更改配置之前,我会寻找失败的原因。

由于您的调用需要 2/3 秒才能返回,我们可以放心地假设您在给定时间创建了超过 10 个实例(默认为 10 个)。发生这种情况时,呼叫会排队,如果您的负载没有下降,那么每个呼叫都可以得到回复,那么您就会遇到问题。

您可以通过查看performance counters that WCF provides 进行诊断,特别是与 ServiceModelService 4.0.0.0 相关的实例计数器。

如果这是问题所在(看起来可能是),那么您可以采取措施并增加实例数量。但是,最终的解决方法应该是减少响应时间,否则您只会推迟扩展带来的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-26
    • 1970-01-01
    • 1970-01-01
    • 2014-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多