Анализируя узкие места производительности в службе приложений Azure, Application Insights не может найти ответы на все вопросы. - PullRequest
0 голосов
/ 12 апреля 2019

Я использую MVC 5, .NET 4.7, C #, EF6, SQL Server.

Я выполнял профилирование производительности на своем ноутбуке с помощью DotTrace, и это отлично. Однако я застрял после публикации в службе приложений Azure, поскольку DotTrace не поддерживает это, что является большим позором. Поэтому я попытался использовать трассировку профилей в Application Insights, поскольку в облаке, похоже, возникают дополнительные узкие места, которые я не могу объяснить. Однако я обнаружил, что трассировка профиля временной шкалы гораздо менее полезна, чем DotTrace, в основном из-за меньшего количества информации.

Также я считаю, что профилировщик ANTS может использовать только локальный эмулятор Azure, так что мне кажется, что мне не хватает горячих точек разогрева в реальном времени на разных уровнях ценообразования, проблем с подключением SQL Azure и т. Д.

Я нашел NewRelic в некоторой степени полезным, но он не будет работать с Application Insights, а его агент - нет. Я не верю, что DataDogHQ переходит на уровень кодовой линии.

Какие другие инструменты доступны для профилирования производительности, до уровня кода строки, для экземпляров службы приложений?

Заранее спасибо.

РЕДАКТИРОВАТЬ: Я пытался исследовать ИИ больше, и я столкнулся с 3 проблемами:

1) Он профилируется случайным образом, что, я думаю, сделано так, чтобы минимизировать влияние на сервер. 2) Я не могу понять, когда трассировка профилировщика становится доступной, а затем, когда это происходит, кажется, что на временной шкале видны только события БД. 3) Я попытался загрузить файл ETL и просмотреть его в средстве просмотра производительности Windows, но информация была очень системной, а не специфичной для приложения, которую отображал DotTrace.

ИИ выглядит великолепно, особенно когда вы можете использовать его из Visual Studio. Однако я действительно застрял на том, как я получаю временную шкалу всех вызываемых методов, вплоть до кодовой линии узкого места. Возможно, это не может сделать это?

...