Это сложная проблема, и, насколько я понимаю, она также частично зависит от:
- физических и логических атрибутов ЦП
- Предел очереди запросов модели процесса
- Максимальное количество потоков ввода-вывода в модели процесса
- Максимальное количество одновременных запросов на процессор
- Максимальное количество одновременных потоков на процессор
Я не претендую на то, что знаю об этом много, на самом деле я не знаю,Но я пытаюсь понять, как это работает.Из того, что я могу собрать, я использую эту настройку (я даю абсолютно никаких гарантий, что это лучшая установка):
RuntimeConfiguration.ProcessModelRequestQueueLimit = 5000 * Environment.ProcessorCount RuntimeConfiguration.ProcessModelMaxIoThreads = 100 *Environment.ProcessorCount HostingEnvironment.MaxConcurrentRequestsPerCPU = 5000 HostingEnvironment.MaxConcurrentThreadsPerCPU = 0 System.Net.ServicePointManager.DefaultConnectionLimit = Int32.MaxValue (ну, на самом деле я использую только 48 *), так как для моих целей это достаточно быстро, так как для моей цели это кажется достаточно быстрым, так как для моей цели это кажется достаточно быстрым, и для моей цели это кажется достаточно быстрым для моих целей*
Эта установка в основном основана на этой статье:
http://blogs.msdn.com/b/tmarq/archive/2007/07/21/asp-net-thread-usage-on-iis-7-0-and-6-0.aspx