大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
安装
- 安装go-torch
go get github.com/uber/go-torch
- 安装FlameGraph
cd $WORK_PATH && git clone https://github.com/brendangregg/FlameGraph.git
export PATH=$PATH:$WORK_PATH/FlameGraph
- 安装graphviz
yum install graphviz
- 使用pprof
package main
import (
"net/http"
_ "net/http/pprof"
)
func main() {
// 服务端启动一个协程,支持pprof的handler
//导入pprof的包,自动包含一些handler
//项目加入如下代码
go func() {
http.ListenAndServe("0.0.0.0:8888", nil)
}()
//other code
}
ab压测
-
安装apache
-
使用ab命令
-
基本使用
ab -n 19999 -c 20 http://xxxxxxxxxxxx
-n 总数
-c 同时并发请求数
pprof使用
- 监听
go tool pprof http://localhost:port/debug/pprof/profile
-
操作
进入30秒的profile收集时间,在这段时间内请求服务,尽量让cpu占用性能产生数据 -
pprof命令
top
在默认情况下,top命令会输出以本地取样计数为顺序的列表。我们可以把这个列表叫做本地取样计数排名列表。
web
与gv命令类似,web命令也会用图形化的方式来显示概要文件。但不同的是,web命令是在一个Web浏览器中显示它。
火焰图工具使用
- 监听
//cpu火焰图
go-torch -u http://ip:port/debug/pprof/ -p > profile-cpu.svg
//内存火焰图
go-torch -u http://ip:port/debug/pprof/heap -p > profile-heap.svg
- 操作
针对测试服务端,进行操作,上述步骤默认监听30s,即30s后可以生成相关图像
参考
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/166803.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...