• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

go-web项目性能测试,CPU,内存泄露等

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

go中提供了pprof包来做代码的性能监控,在两个地方有包:

  • net/http/pprof
  • runtime/pprof

其实net/http/pprof中只是使用runtime/pprof包来进行封装了一下,并在http端口上暴露出来。

 

使用 net/http/pprof 做WEB服务器的性能监控

如果你的go程序是用http包启动的web服务器,想要查看自己的web服务器的状态。这个时候就可以选择net/http/pprof。

 import _ "net/http/pprof"

  然后就可以在浏览器中使用http://localhost:port/debug/pprof/ 直接看到当前web服务的状态,包括CPU占用情况和内存使用情况等。

如果是 gin框架起的web服务, 那么就用这个现成的包即可:  https://github.com/DeanThompson/ginpprof

如果是 beego框架起的web服务, 那再配置文件中直接开启就可以了.  beego参考文档

cpu分析

命令行执行:

go tool pprof http://192.168.2.60:8101/debug/pprof/profile

  然后进入30s的收集信息时间, 此30s内, 可以进行压力测试
收集结束后, 可以调用web, top等工具进行查看. 

30s的默认时间可以修改, 用 --seconds 10 参数即可, 放到pprof后面, url前面

使用web遇到的错误:

Failed to execute dot. Is Graphviz installed? Error: exec: "dot": executable file not found in $PATH

  这时需要安装 Graphviz 工具.具体怎么安装, 自行百度

堆栈分析

命令行执行:

go tool pprof http://192.168.2.60:8101/debug/pprof/heap

收集结束后, 可以调用web, top等工具进行查看. 


 

参考:

Go tool pprof性能监控调试工具基本使用说明

 

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Go实现的数学表达式解析计算引擎math-engine发布时间:2022-07-10
下一篇:
go语言中的数组切片:特立独行的可变数组发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap