增加WCF服务上的加载和并发用户

时间:2013-02-27 12:09:04

标签: asp.net wcf iis-7

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

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

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

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

</behavior>
</serviceBehaviors>

1 个答案:

答案 0 :(得分:0)

在以任意方式更改配置之前,我会查找原因失败的原因。

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

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

如果这是问题(看起来可能是这样),那么您可以采取措施并增加实例数量。但是,最终修复应该是减少响应时间,否则你只会推迟缩放带来的问题。