Разъяснение модели процесса minFreeThreads - PullRequest
5 голосов
/ 20 января 2011

Я модифицировал модель процесса .net для решения некоторых проблем с пропускной способностью.Я прочитал много статей, но мне нужно кое-что прояснить в свойстве minFreeThreads.Означает ли повышение этого значения, что больше потоков зарезервировано для обработки исходящих запросов (сделать вызов во внешнюю веб-службу)?

Вариант использования: у меня есть асинхронный обработчик, который ожидает обратного вызова для ответа на запросчик.Существует таймер, который заставляет запросы, превышающие ограничение по времени, отвечать «нет данных».Если существует 100 таких запросов, требующих ответа, позволяет ли высокое значение minFreeThreads разрешить выполнение большего количества этих запросов?

1 Ответ

2 голосов
/ 23 января 2011

Хотя устарел и устарел: http://msdn.microsoft.com/en-us/library/ff647787.aspx

Я интерпретирую таблицу 6.1 следующим образом: (для случая 1 ЦП / ядро) maxWorkerThreads - это количество потоков, доступных для ЛЮБОЙ операции (входящей, исходящей). MinFreeThreads:нижняя отметка для ВХОДЯЩЕГО запроса.Если эта отметка достигнута, входящий запрос больше не будет приниматься, он будет поставлен в очередь.Такая организация очередей поможет веб-серверу выполнить любые ожидающие действия (например, обработку исходящих вызовов веб-службы).

Чтобы ответить на ваш вопрос, основываясь на этом руководстве, нет, повышение minFreeThreads не повлияет на производительность в вашем случае,это может даже уменьшить его.

Может быть, это хорошая (больше не поддерживается) начальная точка для дальнейшего изучения: http://msdn.microsoft.com/en-us/library/ff647791.aspx#scalenetchapt15_topic12

...