Лучшие альтернативы ThreadPool C #? - PullRequest
0 голосов
/ 25 июня 2018

У меня есть веб-приложение, в котором сервер работает под кодом C # . Вот что происходит:

  1. HTTP-прослушиватель ищет входящие запросы от узлов в сети.
  2. Каждый запрос имеет форму XML-документа (здесь не имеет значения, просто дополнительная информация), который анализируется и отправляется методу, который ставится в очередь на ThreadPool с использованием QueueUserWorkItem().

Теперь я хочу увеличить моего приложения так, чтобы одновременные запросы от нескольких узлов (до диапазона 8-12 КБ) могли обрабатываться без значительного времени ожидания . Мое приложение в настоящее время зависает и отказывается обрабатывать большое количество запросов (к северу от 1-2к).

Мои нынешние мысли:

  • Это просто использование SetMaxThreads() для ThreadPool, это лучшее решение? Если да, как я могу решить, какое значение установить для счетчика?
  • Поможет ли использование Task Parallel Library каким-либо образом? Это лучший способ взаимодействия с ThreadPool?

Есть ли другие альтернативы, которые я мог бы использовать?

...