设计高性能的WCF解决方案.ppt
《设计高性能的WCF解决方案.ppt》由会员分享,可在线阅读,更多相关《设计高性能的WCF解决方案.ppt(39页珍藏版)》请在三一文库上搜索。
1、设计高性能的WCF解决方案,Mauro Ottaviani 资深软件开发主管 微软公司,日程,回报 传输层,序列化器,及编码器 客户端的选项 服务端的选项 流传输 通常的建议,一些比较,与下列.NET技术具有可比性 .NET Remoting System.EnterpriseServices System.Messaging http:/ 速度比以下网络服务更快 ASMX(ASP.NET网络服务) WSE 性能优于其它同类技术 http:/ Remoting vs WCF,EnterpriseServices vs WCF,ASMX vs WCF,WSE vs WCF,日程,回报 传输层,序
2、列化器,及编码器 客户端的选项 服务端的选项 流传输 通常的建议,传输层基础,WCF默认支持多种传输层 TCP, HTTP, MSMQ, NamedPipes 可以自定义其它传输层 每一种传输层各有不同的考虑因素 消息传输模式,可接受客户端的多寡,互操作性,开销,传输层的比较,序列化器基础,消息类型 = XML Infoset 序列化器是对象图与Infosets之间的桥梁 WCF自带了三种序列化器 DataContractSerializer (DCS) NetDataContractSerializer (NDCS) XmlSerializer 可应互操作性的要求使用相应的序列化器,编码器基
3、础,编码器是Infoset与报文格式之间的桥梁 WCF自带了三种编码器(.NET框架3.0) 文本,MTOM,二进制 .NET框架3.5引入了JSON编码器 通常应互操作性的要求来决定使用何种编码器 二进制编码速度快,但不具备互操作性 MTOM用于大量的二进制数据,同时具备互操作性 文本编码则可满足大部分互操作性的要求,编码器总结,二进制编码显著快于文本编码 可同时提供一个可互操作的端点和一个不可互操作的端点 MTOM与二进制编码相近 消息越大,编码器对性能的影响也越大 协议本身的开销与实际吞吐量相比可以忽略不计 消息越小,编码器对性能的影响也越小 大部分时间耗费在协议本身,吞吐量(已规格化)
4、,演示,序列化器与编码器,葛子昂 软件设计工程师 微软中国研发集团,日程,回报 传输层,序列化器,及编码器 客户端的选项 服务端的选项 流传输 通常的建议,WCF客户端/代理的基础,Svcutil.exe可以为服务创建一个代理类型 该类型实现了IClientChannel 实例化该类型需要额外的开销 还可以使用ChannelFactory 应该使用哪一个? Svcutil.exe创建的类型易于使用,但开销较大 ChannelFactory不易使用,但开销较小 经常被误用!,客户端/代理总结,销毁不用的代理 会达到阈值:可能会导致客户端挂起 会耗尽资源:如套接字 不要在每次调用时都创建一个新的代
5、理 如果信道是有状态的,那么可以重复使用ChannelFactory “Increasing Middle-Tier Client Performance” http:/ 如果进行缓存,那么还要考虑对伸缩性的影响 异步,异步,异步!,代理的吞吐量,演示,客户端的使用,葛子昂 软件设计工程师 微软中国研发集团,代码:在代理内进行缓存,日程,回报 传输层,序列化器,及编码器 客户端的选项 服务端的选项 流传输 通常的建议,服务基础,服务是异步的 不要浪费CPU资源 ServiceModel做了一些保守的限制 MaxConcurrentSessions = 10 MaxConcurrentCalls
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 设计 性能 WCF 解决方案
链接地址:https://www.31doc.com/p-2096067.html