这可能是一个愚蠢的问题,因为 ProcessModel 仅用于 IIS(如 MSDN 所述),但是,在我的负载测试中,一个 BizTalk 应用程序调用 Windows 服务托管 WCF,我将 processModel 从 autoConfig 更改为 false,并设置 minWorkThreads和 maxWorkerThreads。性能神奇地提高了... google了一下还是不明白是什么原因?有人可以建议吗?
问问题
761 次
1 回答
0
是的,它确实。由于 WCF 服务在通过 IIS 通过 HTTP/HTTPS 公开服务时使用 ASP.NET ThreadPool,因此它由 processModel 管理,就像常规 ASP.NET 请求一样。
您可以从此处获取此行为的详细说明:
http://www.scottmillersnotes.com/?p=167
但是,WCF 3.5 的线程池管理中存在一个错误,导致 WCF 服务无法扩展超出某个点。在 WCF 4.0 中,该错误已得到修复。您可以阅读本文的详细故事以及我与 Microsoft WCF 团队的交流以了解详细信息:
http://omaralzabir.com/tweaking-wcf-to-build-highly-scalable-async-rest-api/
有帮助吗?
于 2012-08-13T10:50:31.257 回答