背景
记录个人在开发测试中常用的一些工具和命令,不知道的时候方便回来查看。
1. 性能测试工具
ab测试工具(http)
安装
代码语言:txt复制yum install httpd
使用
代码语言:txt复制ab -c100 -n1000 "http://127.0.0.1:61001/dmp/get_tag_deviceid_md5?deviceid_md5=d9c1f0c52061443281d79c1407aa635d"
报告说明
主要关注压测的QPS, 平均耗时,以及时延分布情况
grpc测试工具grpcurl
代码语言:txt复制go get github.com/fullstorydev/grpcurl
go install github.com/fullstorydev/grpcurl/cmd/grpcurl
使用命令
代码语言:shell复制grpcurl -plaintext -d '{"name":"Go"}' localhost:8081 proto.TagService.GetTagList
ghz压测工具(grpc)
仓库地址: https://github.com/bojand/ghz
官网: https://ghz.sh/
安装&使用
代码语言:txt复制# 如果是mac直接用
brew install ghz
# 也可以选择自己编译安装
git clone https://github.com/bojand/ghz
cd ghz
make build
# 发测试请求样例1
ghz --insecure --async
--proto /protos/helloworld.proto
--call helloworld.Greeter/SayHello
-c 10 -n 10000 --rps 200
-d '{"name":"{{.WorkerID}}"}'0.0.0.0:50051
# 发测试请求样例2
ghz --skipTLS --insecure --protoset
/Users/guirong/go/src/ghz_demo/proto/api.bundle.protoset
--call proto.TagService.GetTagList -m '{"name": "Go"}'
-c 100 -n 1000 localhost:8081 -O html -o test.html
报告效果
2. go的pprof graphviz 性能调优工具
2.1 pprof 为go自带工具无需额外安装
使用
代码语言:txt复制# 查看全局的监控信息
go tool pprof 'http://localhost:8081/debug/pprof/?debug=1'
# 查看goroutine的监控信息
go tool pprof 'localhost:8081/debug/pprof/goroutine?debug=1'
报告说明
2.2 graphviz 火焰图
安装
代码语言:txt复制yum install graphviz
使用
代码语言:txt复制 go tool pprof -http=:8080 'http://xxx:xxx/debug/pprof/profile?debug=1'
报告说明
通过火焰图找出程序的瓶颈,并进行优化。
3. YAPI 接口管理平台
安装
代码语言:txt复制# 前提: 需要安装docker. 如果没有安装docker可以见本人 docker 博文
## 1.启动 MongoDB
docker run -d --name mongo-yapi mongo
##2.获取 Yapi 镜像,版本信息可在 阿里云镜像仓库查看
docker pull registry.cn-hangzhou.aliyuncs.com/anoy/yapi
## 3.初始化 Yapi 数据库索引及管理员账号(初始化管理员账号成功,账号名:"admin@admin.com",密码:"ymfe.org")
## 初始化成功后, 会在末尾显示初始化后的账号密码信息
docker run -it --rm
--link mongo-yapi:mongo
--entrypoint npm
--workdir /api/vendors
registry.cn-hangzhou.aliyuncs.com/anoy/yapi
run install-server
## 4.启动 Yapi 服务
docker run -d
--name yapi
--link mongo-yapi:mongo
--workdir /api/vendors
-p 3000:3000
registry.cn-hangzhou.aliyuncs.com/anoy/yapi
server/app.js
## 5.打开阿里云服务器 3000 的端口
如果自己的云服务器的安全组/防火墙设置了禁止额外的端口访问, 需要在安全组/防火墙中放开3000端口
## 6. 登陆
访问 http://ip:3000 登录账号 admin@admin.com,密码 ymfe.org
## 官方使用文档地址:
https://hellosean1025.github.io/yapi/documents/index.html
使用docker进行安装,也可以采用官方推荐方案,项目仓库:[https://github.com/YMFE/yapi](https://github.com/YMFE/yapi)
我使用的是[https://github.com/fjc0k/docker-YApi](https://github.com/fjc0k/docker-YApi)进行快速安装。