怎么理解golang、gin、pprof

发布时间:2021-11-02 14:14:28 作者:iii
来源:亿速云 阅读:201

本篇内容主要讲解“怎么理解golang、gin、pprof”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么理解golang、gin、pprof”吧!

GO性能分析

Go语言内置了获取程序运行数据的工具,包括以下两个标准库:

pprof是什么?

pprof 是用于可视化和分析性能分析数据的工具

pprof 以 profile.proto 读取分析样本的集合,并生成报告以可视化并帮助分析数据(支持文本和图形报告)

profile.proto 是一个 Protocol Buffer v3 的描述文件,它描述了一组 callstack 和 symbolization 信息, 作用是表示统计分析的一组采样的调用栈,是很常见的 stacktrace 配置文件格式

支持什么使用模式

可以做什么?

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观测

注意

到此,相信大家对“怎么理解golang、gin、pprof”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

推荐阅读:
  1. Golang Gin/Ace/Iris/Echo RBAC 鉴权库
  2. Golang使用pprof监控性能

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

go语言

上一篇:Cacti网络监控工具怎么用

下一篇:Unix Study之AIX系统监控工具tops怎么用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》