前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WCF服务在高负载下可能会变慢

WCF服务在高负载下可能会变慢

作者头像
张善友
发布2018-01-19 15:31:35
7050
发布2018-01-19 15:31:35
举报
文章被收录于专栏:张善友的专栏张善友的专栏

KB2538826 解释了WCF服务在突发的请求下会发生的问题:当您的 WCF 服务接收请求的突发时,默认.Net I/O 完成端口 (IOCP) 线程池可能不扩大需尽快和你 WCF 的响应时间会随之增加。这篇文章《WCF scales up slowly with bursts of work》解释了到底发生了什么。

解决方案是通过另一个线程池执行WCF服务,实施这一解决方案可能会产生少量的开销。 每个WCF服务的性能测试结果会有所不同。

WCF Listener

Recommended solution

HTTP Sync Module (Default in 3.x) - used in Integrated Application Pool

Switch to the Async handler and then then apply the solution in this article or alternatively use a Private Threadpool (see links following this table)

HTTP Aync Module (Default in 4.x) - used in Integrated Application Pool

Apply the code solution in this article

ISAPI - used in Classic Mode Application Pool

Apply Private Threadpool (see links following this table)

tcp.Net

Apply the code solution in this article

注意:应用此解决方案,当使用WCF侦听器不会阻止传入的线程在等待WCF服务的代码来完成。

如果你按照上面的表在这篇文章中,无法应用的解决方案,使用在MSDN的文章一个专用线程池的例子: Synchronization Contexts in WCF Juval Lowy将WCF中的同步环境 http://msdn.microsoft.com/zh-cn/magazine/cc163321.aspx

切换同步HTTP处理程序使用异步HTTP处理程序的步骤:

1.WCF调节阈值应高到足以处理预期的突发量在可接受的响应时间。 2. 如果你使用一个.NET CLR默认的线程池,工作人员或IOCP您的WCF服务,你必须确保最低限度的一个数字,你预计并发执行的线程数(价值开始创建线程的限制)。 3. 执行下面的代码在您的服务将执行你的WCF服务的。NET CLR工作线程池。

Reusing Cookies in Different WCF Web Services

Less tweaking of your WCF 4.0 apps for high throughput workloads

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2013-02-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档