一、下载安装
https://github.com/bojand/ghz...
官方文档: https://ghz.sh/docs/usage
大致可以分为三类参数:
基本参数
负载参数
并发参数
基本参数

--config:指定配置文件位置--proto:指定 proto 文件位置,会从 proto 文件中获取相关信息--call:指定调用的方法。
具体格式为包名.服务名.方法名
如:--call helloworld.Greeter.SayHello-c:并发请求数-n:最大请求数,达到后则结束测试-d:请求参数
JSON格式,如-d '{"name":"Bob"}'
-D:以文件方式指定请求参数,JSON文件位置
如-D ./file.json-o:输出路径
默认输出到 stdout-O/--format:输出格式,有多种格式可选便于查看的:csv、json、pretty、html:
便于入库的:influx-summary、influx-details:满足InfluxDB line-protocol 格式的输出
以上就是相关的基本参数,有了这些参数基本可以进行测试了。

配置文件:
所有参数都可以通过配置文件来指定,这也是比较推荐的用法。
{
"proto": "/path/to/greeter.proto",
"call": "helloworld.Greeter.SayHello",
"total": 2000,
"concurrency": 50,
"data": {
"name": "Joe"
},
"metadata": {
"foo": "bar",
"trace_id": "{{.RequestNumber}}",
"timestamp": "{{.TimestampUnix}}"
},
"import-paths": [
"/path/to/protos"
],
"max-duration": "10s",
"host": "0.0.0.0:50051"
}

ghz --config ./ghz.json

使用方式:
ghz -c 10 -n 1000 \
--insecure \
--proto ./hello_world.proto \
--call helloworld.Greeter.SayHello \
-d '{"name":"Joe"}' \
0.0.0.0:50051

【GRPC 压测工具 ghz】参考: https://www.lixueduan.com/pos...