2011-01-20 94 views
5

我一直在修改.net流程模型来解决一些吞吐量问题。我已经阅读了很多文章,但需要对minFreeThreads属性进行一些说明。提高这个值是否意味着更多线程被保留来处理传出请求(调用外部Web服务)?流程模型minFreeThreads澄清

用例: 我有一个异步处理程序正在等待回调来响应请求者。有一个计时器会导致超过时间限制的请求以“无数据”响应。如果这些请求中有100个需要响应,那么minFreeThreads值是否会允许更多这些请求消失?

回答

2

虽然已经过时,弃用: http://msdn.microsoft.com/en-us/library/ff647787.aspx

解读表6.1如下:(对于1个CPU /核心情况下) maxWorkerThreads为任何操作可用线程(传入,传出) minFreeThreads是多少INCOMING要求的低水位标志。如果达到此标记,则不会再有传入的请求被采用,它们将排队。该排队将有助于让Web服务器完成任何待处理的事情(如处理传出的Web服务调用)。

要回答你的问题,基于这个指导,不,提高minFreeThreads不会有助于你的情况下的性能,它甚至可能会减少它。

也许这是一个很好的(不再维护)起点,进一步探讨: http://msdn.microsoft.com/en-us/library/ff647791.aspx#scalenetchapt15_topic12

+0

由于刘若英,这是有道理的。 – 2011-01-26 20:40:20