Особенности приложения: «Неуправляемая асинхронность» в трассировке профилировщика - PullRequest
0 голосов
/ 01 марта 2019

У нас высокая загрузка процессора в одном из экземпляров нашего веб-приложения, и я пытаюсь выяснить причину.Есть несколько профильных следов, зарегистрированных в AI.Все они содержат очень длинное событие «Неуправляемая асинхронность».

Screenshot

Что означает эта «Неуправляемая асинхронность»?

1 Ответ

0 голосов
/ 04 марта 2019

.Net Framework генерирует события ETW и передает идентификаторы активности между потоками, чтобы асинхронные вызовы можно было отслеживать между потоками.Неуправляемый код (собственный код) и некоторые более ранние стили асинхронного кода пропускают эти события и идентификаторы активности, поэтому профилировщик не может отследить, какой поток выполняет код и какой код выполняется.Это помечено как «неуправляемый асинхронный» в стеке вызовов.Если вы загрузите файл ETW, вы сможете использовать perfview , чтобы получить более полное представление о происходящем.

...