TGViewer
📓 Записки программера 📓 Записки программера @notes_of_programmer · 1.1K subscribers
Post #481 829
Возвращаясь к теме профайлинга в контейнерах.

На днях мне эти инструменты - а конкретно dotnet-trace и dotnet-counters - помогли выяснить, что перф просирается в контейнере по причине перекомпиляции EF запроса при каждом вызове. Простой вынос его в EF.CompiledQuery снизил утилизацию проца почти в 8 раз. Да, этот запрос вызывался много раз в секунду, но я первый раз такое вижу, чтобы оно ТАК влияло.

В любой контейнер эти инструменты ставятся очень просто. У меня на данный момент контейнеры собираются на базе mcr.microsoft.com/dotnet/aspnet:8.0.2-alpine3.19 и там надо

apk add dotnet7-sdk
dotnet tool install --global dotnet-trace
dotnet tool install --global dotnet-counters
...


Потом снимаешь трейсы с помощью dotnet-trace, выносишь из контейнера (с помощью docker cp) и рассматриваешь их с помощью Jetbrains dotTrace (два чая этим господам, исключительно удобная штука для рассматривания следов преступления под лупой)

PS Не забудьте убедица, что в вашем dockerfile НЕТ этой строки:

ENV DOTNET_EnableDiagnostics=0


потому что у меня она изначально была и инструменты соответственно не работали - просто не видился процесс :))
Telegram 📓 Записки программера Как профайлить софт в контейнере с помощью штатных инструментов. Несмотря на то, что в заголовоке упомянуто .net 6 - оно работает и net 5 тоже без изменений. Дампы получаемые из контейнера - открываются не только в Visual Studio, но и в Rider тоже. Что немаловажно…
  • 👍 11
  • 🔥 6
  • ❤ 1
More from @notes_of_programmer
  1. Sep 24, 2026Надеюсь что не пригодится, но вдруг... Creating a memory dump in C# а заодно как его посмо…
  2. Sep 15, 2026А вот уже и мануалы подвезли для Dual-Screen layout вёрстки #css
  3. Sep 14, 2026Забавная штука для того чтобы накидать частично интерактивный мокап. От этого же автора ес…
  4. Sep 2, 2026Оказывается Clickhouse есть в виде wasm версии, смотрел презентации 26.8 и узнал об этом.…
  5. Aug 25, 2026Со времени этого поста плагин перестал работать т.к. в хроме поменяли версию манифеста и у…
  6. Aug 20, 2026Интересное чтиво Complexity Models в продолжение к этому посту #books
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →