91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么理解golang、gin、pprof

發布時間:2021-11-02 14:14:28 來源:億速云 閱讀:200 作者:iii 欄目:編程語言

本篇內容主要講解“怎么理解golang、gin、pprof”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么理解golang、gin、pprof”吧!

GO性能分析

Go語言內置了獲取程序運行數據的工具,包括以下兩個標準庫:

  • runtime/pprof: 采集工具型應用運行數據進行分析

  • net/http/pprof: 采集服務型應用運行時數據進行分析

pprof是什么?

pprof 是用于可視化和分析性能分析數據的工具

pprof 以 profile.proto 讀取分析樣本的集合,并生成報告以可視化并幫助分析數據(支持文本和圖形報告)

profile.proto 是一個 Protocol Buffer v3 的描述文件,它描述了一組 callstack 和 symbolization 信息, 作用是表示統計分析的一組采樣的調用棧,是很常見的 stacktrace 配置文件格式

支持什么使用模式

  • Report generation:報告生成

  • Interactive terminal use:交互式終端使用

  • Web interface:Web 界面

可以做什么?

  • CPU Profiling:CPU 分析,按照一定的頻率采集所監聽的應用程序 CPU(含寄存器)的使用情況,可確定應用程序在主動消耗 CPU 周期時花費時間的位置

  • Memory Profiling:內存分析,在應用程序進行堆分配時記錄堆棧跟蹤,用于監視當前和歷史內存使用情況,以及檢查內存泄漏

  • Block Profiling:阻塞分析,記錄 goroutine 阻塞等待同步(包括定時器通道)的位置

  • Mutex Profiling:互斥鎖分析,報告互斥鎖的競爭情況

Gin如何做性能測試

gin是什么

gin,ojbk就是一套http框架(應該說只是組件吧)

gin pprof

我們上面看了pprof只有runtime和http下面有,那gin咋辦?

不著急,找找就發現了,果然:

go get https://github.com/gin-contrib/pprof

在github找到了相關demo:

怎么理解golang、gin、pprof

相當于是注冊了gin。

運行之后,有如下:

怎么理解golang、gin、pprof

打開:http://localhost:8080/debug/pprof/ (我這里是8083)

怎么理解golang、gin、pprof

這時候你就可以進行壓測和數據采集了。go pprof支持命令行。

go tool pprof --seconds 20 http://localhost:3000/debug/pprof/goroutine
go tool pprof http://localhost:3000/debug/pprof/goroutine?second=20

go tool pprof命令行交互界面

go tool pprof通過命令行也可以實現強大的功能,我們來看下命令吧!

top 默認查看程序中占用cpu前10位的函數。
list + 函數名命令查看具體的函數分析
pdf 可以生成可視化的pdf文件。

那么開始壓測吧

  1. 開啟我們的服務

    go run main.go

  2. 壓測工具

推薦使用https://github.com/wg/wrk 或 https://github.com/adjust/go-wrk

我使用的是go-wrk

git clone git://github.com/adeven/go-wrk.git
cd go-wrk
go build
./go-wrk  -c=100 -t=8 -n=1000 http://localhost:8083/info/325720270784552960/1
  1. 觀察

怎么理解golang、gin、pprof

通過觀察我們發現主要性能消耗是在runtime、net、sql

到此進行了一次完整的pprof gin觀測

注意

  • 我們只應該在性能測試的時候才在代碼中引入pprof

到此,相信大家對“怎么理解golang、gin、pprof”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

神农架林区| 双鸭山市| 广州市| 邢台县| 厦门市| 石首市| 贵港市| 定南县| 桦川县| 基隆市| 绿春县| 和平县| 锡林郭勒盟| 清流县| 上林县| 武乡县| 三门峡市| 临泉县| 翁源县| 临夏市| 彭泽县| 纳雍县| 社会| 颍上县| 张家口市| 康平县| 伊金霍洛旗| 阳新县| 平邑县| 枞阳县| 临安市| 甘南县| 星座| 铜梁县| 胶州市| 乌拉特后旗| 永定县| 鄯善县| 祁东县| 保定市| 柳州市|