.NET9性能工具大全

前言

.NET9它是一个非常完善的版本,对于云原生和AI的支持度也是前所未有。但是这两种技术栈对于性能的敏感度也是苛刻的,对于大部分人来说,用LLDB/GDB/Windbg来进行性能调试或者查找,过于艰涩。本篇来看下.NET9里面提供的几个工具,可以全方位,无死角,全景式的覆盖性能诊断,简单易用。

工具介绍

  • dotnet-dump - 转储收集和分析实用工具。dotnet-dump CLI 全局工具是收集和分析 Windows 和 Linux 转储中的托管数据结构的方法,无需任何本机调试器。

  • dotnet-gcdump - 收集实时 .NET 进程的 gcdump 的堆分析工具。dotnet-gcdump 工具是一种跨平台 CLI 工具,用于收集实时 .NET 进程的 gcdump。它是使用 EventPipe 技术构建的,该技术是 Windows 上 ETW 的跨平台替代方案。Gcdump 是通过触发 GC 创建的 在目标进程中,打开特殊事件,并从事件流中重新生成对象根的图。这允许在进程运行时以最小的开销收集 gcdump。

  • dotnet-trace - 启用正在运行的 .NET Core 应用程序到本地跟踪文件的事件集合。dotnet-trace 工具是一种跨平台 CLI 全局工具,支持在不涉及任何本机探查器的情况下收集正在运行的进程的 .NET Core 跟踪。它是围绕 .NET Core 运行时的 EventPipe 技术构建的,作为 Windows 上的 ETW 和 Linux 上的 LTTng 的跨平台替代方案,后者仅在单个平台上运行。

  • dotnet-counters - 实时监视 .NET Core 应用程序的性能计数器。dotnet-counters 是一种性能监视工具,用于临时运行状况监视或一级性能调查。它可以观察通过 API (https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.tracing.eventcounter) 发布的性能计数器值。例如,可以快速监视 CPU 使用率或 .NET Core 应用程序中引发的异常率等内容,以查看是否有任何可疑情况,然后再使用 PerfView 或 dotnet-trace 进行更严重的性能调查。

上面的四个工具是微软官方提供,可以全方位,全面覆盖,全景式的搞定.NET9里面的任何性能问题,从而达到快速定位,快速解决性能问题的能力。让你不会用LLDB这种重量级调试工具,也可以轻松的定位,查找,解决性能问题。

用法

关于这几个工具的用法,可以参考微软官方中文文档

dotnet-dump参考地址:https://learn.microsoft.com/zh-cn/dotnet/core/diagnostics/dotnet-dump

dotnet-gcdump参考地址:https://learn.microsoft.com/zh-cn/dotnet/core/diagnostics/dotnet-gcdump

dotnet-trace参考地址:https://learn.microsoft.com/zh-cn/dotnet/core/diagnostics/dotnet-trace

dotnet-counters参考地址:https://learn.microsoft.com/zh-cn/dotnet/core/diagnostics/dotnet-counters

往期精彩回顾

.NET8 JIT核心:分层编译的原理

新版.Net性能有没有达到C++90%?

面试官问.Net对象赋值为null,就会被GC回收吗?

237e316e9ac372fd63d5056263f6f759.jpeg

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值