一、jmeter安装GRPC插件
目前jmeter安装后须安装grpc插件才能测试相关接口,插件:JMeter Plugins :: JMeter-Plugins.org
将下载文件解压后放到Jmeter安装目录下 /lib/ext下即可
二、jmeter解析GRPC的协议文件
安装好GRPC插件后,通过终端输入jmeter打开jmeter进行测试。
1)打开后,可通过下图添加GRPC Request
2)填写请求信息:主机、端口、proto文件夹、rpc方法、请求数据
必填项:
Server Name or ip | 服务器域名或ip |
Port Number gRPC | 端口号 |
Proto Root Directory | proto 文件所在的文件夹路径 |
Full Method | 测试方法,解析协议后,点击Listing下拉选择即可 |
Deadline | 请求超时时间,超时后触发异常DEADLINE_EXCEEDED |
Maximum message size allowed for a single gRPC frame | 单个gRPC帧所允许的最大消息大小;不够时异常:RESOURCE_EXHAUSTED |
Send JSON Format With the Request | 请求参数,选择Full Method后自动加载 |
3)添加线程参数,线程数、Ramp-Up时间、循环次数
线程数:用于模拟多个用户同时请求
Ramp-Up时间:测试中逐渐增加并发用户数(线程数)到达最大并发用户数所需的时间
三、非GUI 执行接口请求
一般通过终端打开jmeter,窗口会有一句话:Don't use GUI mode for load testing !, only for Test creation and Test debugging. 即不要使用前端直接进行性能测试,所以下面介绍一些命令请求的方式。
1、命令生成.jtl文件
进入jmeter的安装目录,找到bin文件夹,进入这个文件执行以下命令
jmeter -n -t D:\ApolloTest\try\Grpc_Request.jmx -l 10.jtl
-l 表示运行过程中生成的数据,是小写的L,文件名随便起,格式为.jtl 例如10.jtl
-n 表示无图形界面
-t 表示testplan,后面跟你需要执行的压测脚本
此命令执行后,即在bin目录下生成了一个10.jtl的结果
2、jmeter生成html报表
在jmeter的界面中点击工具->Generate HTML report
点击生成即可生成相应的html
3、根据已有jtl文件,通过命令生成html报表
如果已经有测试生成的.jtl文件,可以通过以下命令生成HTML报告:
jmeter -g test.jtl -o /path/to/output
-
-g:指定.jtl文件的路径
-
-o:指定生成的HTML报告存放的路径
4、测试执行后自动生成报告
若想在测试执行时自动生成报告,可通过以下命令
jmeter -n -t test.jmx -l test.jtl -e -o /path/to/output
-
-n:以非GUI形式运行JMeter
-
-t:指定.jmx脚本路径
-
-l:指定运行结果保存路径(.jtl文件)
-
-e:在脚本运行结束后生成HTML报告
-
-o:指定生成HTML报告的目录
四 报告解读
可参照这篇博客,具体不总结了