
WCF服务在高负载下可能会变慢
发布日期:2021-05-09 06:30:44
浏览次数:11
分类:博客文章
本文共 1026 字,大约阅读时间需要 3 分钟。
解释了WCF服务在突发的请求下会发生的问题:当您的 WCF 服务接收请求的突发时,默认.Net I/O 完成端口 (IOCP) 线程池可能不扩大需尽快和你 WCF 的响应时间会随之增加。这篇文章《》解释了到底发生了什么。
解决方案是通过另一个线程池执行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处理程序使用异步HTTP处理程序的步骤:
1.WCF调节阈值应高到足以处理预期的突发量在可接受的响应时间。
2. 如果你使用一个.NET CLR默认的线程池,工作人员或IOCP您的WCF服务,你必须确保最低限度的一个数字,你预计并发执行的线程数(价值开始创建线程的限制)。 3. 执行下面的代码在您的服务将执行你的WCF服务的。NET CLR工作线程池。
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2025年04月01日 14时03分11秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
我看TechEd 2012之技术热点
2019-03-06
Python和JavaScript在使用上有什么区别?
2019-03-06
实战使用Axure设计App,使用WebStorm开发(1) – 用Axure描述需求
2019-03-06
Windows10的革命之路-全新UWP开发平台
2019-03-06
程序员Web面试之前端框架等知识
2019-03-06
ASP.NET MVC 5 - 视图
2019-03-06
2017年前端框架、类库、工具大比拼
2019-03-06
wxWidgets源码分析(1) - App启动过程
2019-03-06
wxWidgets源码分析(2) - App主循环
2019-03-06
wxWidgets源码分析(3) - 消息映射表
2019-03-06
wxWidgets源码分析(4) - 消息处理过程
2019-03-06
wxWidgets源码分析(5) - 窗口管理
2019-03-06
wxWidgets源码分析(6) - 窗口关闭过程
2019-03-06
wxWidgets源码分析(7) - 窗口尺寸
2019-03-06
wxWidgets源码分析(8) - MVC架构
2019-03-06
wxWidgets源码分析(9) - wxString
2019-03-06
TCP黏包
2019-03-06
python数据类型(总结篇)
2019-03-06
机器学习之数据探索——数据特征分析(帕累托分析)
2019-03-06