Загрузка ЦП составляет 50%, однако запросы IIS/ASP.net все еще находятся в очереди

Загрузка ЦП составляет 50%, однако запросы IIS/ASP.net все еще находятся в очереди

У нас есть виртуальная машина (VMWare), которая при нагрузочном тестировании начинает ставить запросы в очередь при 120 пользователях.

Похоже, процессор не загружен более чем на 70%, поэтому мне сложно понять, почему он не справляется с обработкой запросов?

Время ЦП отображается в левом нижнем углу красным цветом. График ЦП

решение1

CPU — не единственное узкое место для обработки запросов. Все зависит от того, что делает ваше приложение. Если вы выполняете много работы, связанной с вводом-выводом, это может быть более важным фактором, чем CPU.

ASP.net имеет ограниченное количество потоков в ThreadPool, поэтому если они все заняты, они начнут выстраиваться в очередь. Проверитьэта частьдля получения некоторых советов по организации очередей запросов.

Вы делаете много вставок/обновлений SQL на запрос? Получите некоторые временные интервалы для них, даже с Glimpse. Слишком много из них, и они задерживают потоки/запросы в ожидании ответов.

Вы обращаетесь к каким-то сторонним API? Они задерживают потоки/запросы в ожидании, и есть ограничения на количество разрешенных одновременных подключений.

Что приложение делает для каждого пользователя? Вы извлекаете более 1000 записей?

Проверь этоСтатья поддержки MS Connect, существует множество параметров конфигурации IIS, которые могут вам помочь, если вы их еще не настроили.

Опять же, это происходит без знания того, что и как делает ваше приложение.

Связанный контент