在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
go中提供了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内, 可以进行压力测试 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等工具进行查看.
参考:
|
请发表评论