3

我正在尝试使用(IIS6/Server2003/BasicHttpBinding)对 WCF 服务进行负载测试。该服务的限制如下:

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

为了评估服务器上的调用次数,我使用了 ServiceModelService 3.0.0.0 性能计数器。如果我将 maxConcurrentCalls 限制为 20、15、10 或任何更低的 Instances 性能计数器,则表明 WCF 正在遵守限制。但是,如果我将 maxConcurrentCalls 更改为 30,我将永远无法让 Instances 超过 24。此外,未完成呼叫永远不会超过 24。还有什么可能限制 WCF?

4

1 回答 1

1

请参阅为什么 WCF 负载测试只有两个并发请求?

当我看到这个问题时,我的第一反应是:客户端并没有真正向服务器发送足够的请求。这是为什么?以下是原因:

1) 如果您使用同步 WCF HttpModule/HttpHandler(默认安装),您将获得最大并发请求数(由该数量的 ASP.NET 工作线程持有)为 12 * [服务器的 CPU 数量]。

2) 上面指定了 WCF 节流。

于 2009-03-28T04:50:45.253 回答