Чем полезен просмотр потоков в профилировщиках производительности / процессоров? - PullRequest
0 голосов
/ 02 июня 2018

После того, как я профилирую приложение ASP.NET Core, инструмент dotBrace JetBrain по умолчанию открывает вкладку All Calls и показывает список потоков.

Не могли бы вы уточнить некоторые мои вопросы?

  • Во время сеанса профилирования я отправил около 100 тыс. Запросов в веб-приложение.Являются ли эти потоки (кроме Main и некоторых системных потоков, таких как Finalizer thread) единственными, которые использовались пулом потоков для обслуживания всех этих запросов на основе изображения ниже?

  • В идеале я бы предпочел узнать подробности о функции, которая потребляла много ресурсов ЦП (т. Е. Самый горячий метод в сеансе профилирования), поэтому мне интересно, как на самом деле помогает это представление потоков?

  • Как вы думаете, могло быть намного больше потоков из пула потоков, которые могли бы быть использованы и возвращены обратно в пул потоков, но профилировщик смог только «захватить» информацию о конкретных потоках пула потоков, потому что эти потоки пула потоковвыполняли в течение этого времени?Я говорю это потому, что для запросов ~ 100K количество показанных здесь потоков кажется меньшим, но я могу ошибаться.(Возможно, это основано на количестве выполненных одновременных запросов?)

enter image description here

enter image description here

1 Ответ

0 голосов
/ 23 ноября 2018

Представление «Потоки» полезно при использовании реальных потоков в приложении.Например, в WPF основной поток только для диспетчера и ваш пользовательский поток для фоновой работы.

В вашем случае вы все еще можете расширить диспетчеризацию, чтобы увидеть, что выполняется внутри.Вы также можете использовать режим трассировки, чтобы увидеть количество запросов внутри работника пула.

Отображаются все потоки, фактически использованные во время записи профилирования, каждый поток выполнит множество запросов

. Для этогоЯ предпочитаю режим временной шкалы, чтобы вы могли отфильтровать все ваши запросы и увидеть все потоки, в которых они были выполнены.

...