WCF 第五章 并发和实例(服务行为)
2011-06-30 09:38
239 查看
并发是一个多少个任务可以同时执行的度量,以任务(请求,工作,事务,以及类似的)的形 式度量。执行时间是一个任务多长时间完成的度量,以时间(毫秒,秒,其他的时间单位等)度量。吞吐量是在一个指定时间里可以完成多少个任务的度量,以任务 /时间(请求/秒, 事务/分,等等)的形式度量。吞吐量是关于并发和执行时间的函数。
有两种方式来增加吞吐量:减少执行时间或者增加并发量。减少一个独立任务的执行时间可以通过改变任务调度间隔算法或者添加额外的硬件资源,所以 WCF对这些都无能为力。并发可以通过并行执行任务来实现。WCF有两种控制并发的行为: InstanceContextMode 和 ConcurrencyMode.
InstanceContextMode服务行为用来控制实例而且可以设置成以下三种值:
Single. 服务类的一个实例处理所有接收到的请求。这实现了一个单例。
PerCall. 为每个接收到的请求创建一个服务类的实例。
PerSession. 每个客户端会话创建一个服务类实例。当使用不支持会话的信道时,所有的服务调用与PerCall一样,即便是InstanceContextMode被设置成PerSession.
默认设置下,当一个不支持会话的绑定被使用时,InstanceContextMode.PerSession 降级为PerCall,指导WCF为每个用户(实际上是代理)创建一个新的服务类实例。
ConcurrencyMode服务行为用来控制一个服务实例内部的线程并发。默认设置,ConcurrencyMode.Single,指导WCF在某一时刻旨在服务类的实例中执行一个线程。这个行为可以被设置成三个值之一:
Single. 在一个时刻只有一个线程可以访问服务类。这是最安全的设置因为服务操作不必担心线程安全。
Reentrant. 在一个时刻仅有一个线程可以访问服务类,但是这个线程可以离开类并在稍后返回继续。
Multiple. 多个线程可以同步访问服务类。这个设置要求类创建在线程安全基础上。
使用这两个设置,InstanceContextMode和ConcurrencyMode,它们一起可以帮助你定制一个服务的实例和并发以便于你可以定位特殊的性能需求。
表5.1 联合InstanceContextMode和ConcurrencyMode
=========
转载自
作者:DanielWise
出处:http://www.cnblogs.com/danielWise/
有两种方式来增加吞吐量:减少执行时间或者增加并发量。减少一个独立任务的执行时间可以通过改变任务调度间隔算法或者添加额外的硬件资源,所以 WCF对这些都无能为力。并发可以通过并行执行任务来实现。WCF有两种控制并发的行为: InstanceContextMode 和 ConcurrencyMode.
InstanceContextMode服务行为用来控制实例而且可以设置成以下三种值:
Single. 服务类的一个实例处理所有接收到的请求。这实现了一个单例。
PerCall. 为每个接收到的请求创建一个服务类的实例。
PerSession. 每个客户端会话创建一个服务类实例。当使用不支持会话的信道时,所有的服务调用与PerCall一样,即便是InstanceContextMode被设置成PerSession.
默认设置下,当一个不支持会话的绑定被使用时,InstanceContextMode.PerSession 降级为PerCall,指导WCF为每个用户(实际上是代理)创建一个新的服务类实例。
ConcurrencyMode服务行为用来控制一个服务实例内部的线程并发。默认设置,ConcurrencyMode.Single,指导WCF在某一时刻旨在服务类的实例中执行一个线程。这个行为可以被设置成三个值之一:
Single. 在一个时刻只有一个线程可以访问服务类。这是最安全的设置因为服务操作不必担心线程安全。
Reentrant. 在一个时刻仅有一个线程可以访问服务类,但是这个线程可以离开类并在稍后返回继续。
Multiple. 多个线程可以同步访问服务类。这个设置要求类创建在线程安全基础上。
使用这两个设置,InstanceContextMode和ConcurrencyMode,它们一起可以帮助你定制一个服务的实例和并发以便于你可以定位特殊的性能需求。
表5.1 联合InstanceContextMode和ConcurrencyMode
=========
转载自
作者:DanielWise
出处:http://www.cnblogs.com/danielWise/
相关文章推荐
- WCF 第五章 并发和实例(服务行为)
- WCF 第五章 导出并发布元数据(服务行为)
- WCF 第五章 导出并发布元数据(服务行为)
- WCF 第五章 不支持会话的绑定的默认并发和实例
- 并发与实例上下文模式: WCF服务在不同实例上下文模式下具有怎样的并发表现
- WCF 第五章 行为 通过配置文件暴露一个服务行为
- WCF4.0 –- RESTful WCF Services (实例) (并发同步服务 SyncService)
- 服务行为 之 并发与实例化
- WCF并发(Concurrency)的本质:同一个服务实例上下文(InstanceContext)同时处理多个服务调用请求(转)
- WCF 第五章 控制并发实例的数量
- WCF并发(Concurrency)的本质:同一个服务实例上下文(InstanceContext)同时处理多个服务调用请求
- WCF 第五章 控制并发实例的数量
- WCF 第五章 行为 在WCF一个服务内部的事务操作
- WCF服务实例模式与并发、限流
- WCF4.0 –- RESTful WCF Services (实例) (并发同步服务 SyncService)
- WCF并发(Concurrency)的本质:同一个服务实例上下文(InstanceContext)同时处理多个服务调用请求
- WCF 第五章 不支持会话的绑定的默认并发和实例
- WCF4.0 –- RESTful WCF Services (实例) (并发同步服务 SyncService)
- WCF把书读薄(2)——消息交换、服务实例、会话与并发
- WCF 第五章 行为 事务之事务服务行为