У меня запущено приложение ASP.NET на IIS7.5 с участием .NET4. В определенное время я получаю так много запросов от клиентов (около 10000 за две минуты) и требуется около 20 минут, чтобы все они были готовы. Я не понимаю, почему загрузка процессора не превышает 20% в этот период. Я подумал о следующем списке причин.
Каковы еще возможные причины низкой загрузки ЦП такой системы?
Наконец я нашел решение этой проблемы. Я настроил свой сервер как веб-сад (увеличил количество рабочих процессов до 5), а загрузка ЦП увеличилась до 47%. Тем не менее, я не уверен, почему, но я твердо предполагаю, что большое количество запросов к БД выполняет некоторый ресурс, который ограничен процессом, и увеличение количества рабочих процессов может решить эту проблему.
ОБНОВИТЬ
Я наконец нашел причину! В конфигурации ServiceBehavior моей службы у меня был InstanceContextMode.Single, в то время как значение ConcurrencyMode по умолчанию также равно Single. Я изменил последнее на несколько, и теперь все в порядке.