前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >常用工具和使用汇总

常用工具和使用汇总

原创
作者头像
Johns
修改2022-06-30 10:35:12
7210
修改2022-06-30 10:35:12
举报
文章被收录于专栏:代码工具

背景

记录个人在开发测试中常用的一些工具和命令,不知道的时候方便回来查看。

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"

报告说明

image.png
image.png

主要关注压测的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

报告效果

命令行
命令行
web
web

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'

报告说明

image.png
image.png
image.png
image.png

2.2 graphviz 火焰图

安装

代码语言:txt
复制
yum install graphviz

使用

代码语言:txt
复制
 go tool pprof -http=:8080 'http://xxx:xxx/debug/pprof/profile?debug=1'

报告说明

image.png
image.png

通过火焰图找出程序的瓶颈,并进行优化。

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)进行快速安装。

最终效果

image.png
image.png

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 1. 性能测试工具
  • ab测试工具(http)
    • 安装
      • 使用
        • 报告说明
        • grpc测试工具grpcurl
          • 使用命令
          • ghz压测工具(grpc)
            • 安装&使用
              • 报告效果
              • 2. go的pprof + graphviz 性能调优工具
                • 2.1 pprof 为go自带工具无需额外安装
                  • 使用
                    • 报告说明
                      • 2.2 graphviz 火焰图
                        • 安装
                          • 使用
                            • 报告说明
                            • 3. YAPI 接口管理平台
                              • 安装
                                • 最终效果
                                相关产品与服务
                                容器服务
                                腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                                领券
                                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档