Разъяснение модели процесса minFreeThreads
Я модифицировал модель процесса.net, чтобы решить некоторые проблемы с пропускной способностью. Я прочитал много статей, но мне нужно кое-что прояснить в свойстве minFreeThreads. Означает ли повышение этого значения, что больше потоков зарезервировано для обработки исходящих запросов (вызов внешнего веб-сервиса)?
Вариант использования: у меня есть асинхронный обработчик, который ожидает обратного вызова, чтобы ответить запрашивающей стороне. Существует таймер, который заставляет запросы, превышающие ограничение по времени, отвечать "нет данных". Если существует 100 таких запросов, требующих ответа, позволяет ли высокое значение minFreeThreads разрешить выполнение большего количества этих запросов?
1 ответ
Хотя устарел и устарел: http://msdn.microsoft.com/en-us/library/ff647787.aspx
Я интерпретирую таблицу 6.1 следующим образом: (для случая 1 ЦП / ядро) maxWorkerThreads - это количество потоков, доступных для ЛЮБОЙ операции (входящей, исходящей). MinFreeThreads - нижняя отметка для запроса ВХОДЯЩИХ. Если эта отметка достигнута, входящий запрос больше не будет приниматься, он будет поставлен в очередь. Такая организация очередей поможет веб-серверу выполнить любые ожидающие действия (например, обработку исходящих вызовов веб-службы).
Чтобы ответить на ваш вопрос, основываясь на этом руководстве, нет, повышение minFreeThreads не повысит производительность в вашем случае, а может даже снизить ее.
Может быть, это хорошая (больше не поддерживается) начальная точка для дальнейшего изучения: http://msdn.microsoft.com/en-us/library/ff647791.aspx