【发布时间】:2015-04-16 17:11:00
【问题描述】:
如果我的问题很明显,我很抱歉。 我正在寻找为什么在 WCF 中需要限制的答案。
它是取决于客户要求、硬件依赖还是其他什么?
如果这是特定于硬件的,那么 WCF 应该自动得出其值,或者我们如何根据硬件配置得出限制值?有它的用户指南吗?
如果这是客户要求,那么为什么有人要降低其应用程序的吞吐量?
【问题讨论】:
标签: c# wcf throttling
如果我的问题很明显,我很抱歉。 我正在寻找为什么在 WCF 中需要限制的答案。
它是取决于客户要求、硬件依赖还是其他什么?
如果这是特定于硬件的,那么 WCF 应该自动得出其值,或者我们如何根据硬件配置得出限制值?有它的用户指南吗?
如果这是客户要求,那么为什么有人要降低其应用程序的吞吐量?
【问题讨论】:
标签: c# wcf throttling
但是,无论是哪种并发模式,服务器资源都不会 通常能够为无限数量的并发服务 要求。每个请求可能需要一定数量的处理, 内存分配、硬盘访问、网络访问等 开销。
WCF 提供了一种节流行为来管理服务器负载和资源 消费(具有以下属性):
- MaxConcurrentCalls。限制所有服务实例可以处理的并发请求数。默认值为 16。
- 最大并发实例数。限制在给定时间可以分配的服务实例的数量。对于 PerCall 服务,此设置 匹配并发调用的数量。对于 PerSession 服务,这 设置与活动会话实例的数量相匹配。这个设置 单实例模式无关紧要,因为只有一个实例 永远被创造。此设置的默认值为 2,147,483,647。
- 最大并发会话数。限制服务允许的活动会话数。这包括应用程序会话、传输 会话(例如,用于 TCP 和命名管道)、可靠会话、 和安全会话。默认值为 10。
【讨论】: