日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

.NET Core CLI 的性能诊断工具介绍

發布時間:2023/12/4 asp.net 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .NET Core CLI 的性能诊断工具介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

開發人員的.NET Core項目上線后,經常會出現各種問題,內存泄漏,CPU 100%,處理時間長等, 這個時候就需要快速并準確的發現問題,并解決問題, 除了項目本身的日志記錄外,NET Core 為我們開發人員提供了一系列功能強大并且無侵入的診斷工具,本文主要介紹的是 .NET Core dotnet 診斷全局工具

先決條件

支持.NET Core 3.0 SDK 及更高版本, .NET Core 命令行接口 (CLI) 工具

dotnet-counters

dotnet-counters 是一個性能監視工具,用于臨時運行狀況監視和初級性能調查, 你可以通過命令查看和存儲,當前程序的運行時信息,它可以收集 CPU,內存,GC,線程,異常 等信息

安裝 dotnet-counters

dotnet tool install --global dotnet-counters

主要命令

  • dotnet-counters collect

  • dotnet-counters list

  • dotnet-counters monitor

  • dotnet-counters ps

dotnet-counters ps

顯示可監視的 dotnet 進程的列表, 我本地顯示有兩個.Net Core的程序在運行,前面的數字是進程ID

dotnet-counters list

這個命令我們可以看到程序的運行時信息,和Web主機運行信息

  • 運行時:CPU 內存 GC 異常 線程數 異常信息...

  • Web主機: QPS 每秒請求數量, 當前請求數量和失敗請求數量

dotnet-counters monitor

這個命令可以實時監控程序的運行信息

//以 3 秒的刷新間隔監視 System.Runtime 運行時信息dotnet-counters monitor --process-id 19072 --refresh-interval 3 System.Runtime//以 3 秒的刷新間隔監視 Web主機 運行信息dotnet-counters monitor --process-id 19072 --refresh-interval 3 Microsoft.AspNetCore.Hosting

dotnet-counters collect

定期收集所選計數器的值,并將它們導出為指定的文件格式以進行后續處理。

// 以 3 秒的刷新間隔時間收集所有計數器的值,并生成 json 輸出文件: dotnet-counters collect --process-id 19072 --refresh-interval 3 --format json

dotnet-dump

dotnet-dump是性能收集和分析實用工具,流程是先用?dotnet-dump collect?命令 收集當前程序的運行時信息,然后通過?dotnet-dump analyze?命令啟動交互式 shell命令,來分析程序。

安裝 dotnet-dump

dotnet tool install -g dotnet-dump

主要命令

  • dotnet-dump collect

  • dotnet-dump analyze

dotnet-dump collect

// 捕獲并寫入 dotnet-dump collect --process-id 19072

運行完成后,可以在當前命令行目錄中,找到保存的文件,復制文件名,然后使用?dotnet-dump analyze?命令開始分析

dotnet-dump analyze

// 讀取文件,并啟動交互式shell開始分析 dotnet-dump collect --process-id 19072

輸入 help 可以查看所有的命令,這里我想獲取托管代碼的堆棧信息,輸入?clrstack

dotnet-trace

dotnet-trace 是一個跨平臺的 .NET Core 工具,在不使用本機探查器的情況下啟用正在運行的進程的 .NET Core 跟蹤集合,
它是圍繞 .NET Core 運行時的跨平臺 EventPipe 技術而構建的,在 Windows、Linux 或 macOS 上提供相同體驗。

安裝 dotnet-trace

dotnet tool install --global dotnet-trace

主要命令

  • dotnet-trace collect

  • dotnet-trace convert

  • dotnet-trace ps

  • dotnet-trace list-profiles

dotnet-trace ps

此命令,列出可附加到的 dotnet 進程,我們一般需要拿到進程Id

dotnet-trace collect

dotnet-trace collect --process-id 20196?開始實時獲取信息

運行后,數據收集到 trace.nettrace 文件, 按?鍵停止收集, 可以用 PerfView 打開,我是直接用 VS 打開的,可以看到收集到的數據還是比較全面的。

總結

微軟提供了一套強大的診斷工具,熟練的使用這些工具,可以更快更有效的發現程序的運行問題,解決程序的性能問題。

參考文檔:https://docs.microsoft.com/zh-cn/dotnet/core/diagnostics/dotnet-counters

dotnet-trace:?https://github.com/dotnet/diagnostics.git

打個廣告

HttpReports?是針對.Net Core 開發的輕量級APM系統, 基于MIT開源協議,主要支持了統計,分析,告警,鏈路監控,請求日志等, 文檔齊全,前段時間也是很榮幸的加入到了 .NET Core Community 組織,目前在準備V2.0版本的發布計劃, 開源不易,還希望感興趣的同學可以點個 Star 關注下,謝謝

Github地址:https://github.com/dotnetcore/HttpReports

在線預覽:?https://moa.hengyinfs.com

賬號: admin 密碼 123456

在線文檔:https://www.yuque.com/httpreports/docs

總結

以上是生活随笔為你收集整理的.NET Core CLI 的性能诊断工具介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。