一、下载安装
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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。