下载地址:
https://jmeter.apache.org/download_jmeter.cgilinux
下载后解压zip到任意目录,而后配置环境变量
变量名JMETER_HOME,变量值F:\apache-jmeter-4.0
在变量名CLASSPATH新增web
%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar; %JMETER_HOME%\lib\jorphan.jar; %JMETER_HOME%\lib\logkit-2.0.jar;
在Path新增数据库
%JMETER_HOME%/bin
而后启动cmd,输入F:\apache-jmeter-4.0\bin\jmeter.batapache
也能够进入到安装包bin目录下启动jmeter.batjson
启动后:api
jmeter的主界面以下:服务器
咱们如今准备对以太坊的jsonrpcapi接口进行测试
地址是:
http://192.168.10.131:8545
http请求头部配置:
Content-Type:application/json
请求内容:网络
{ "jsonrpc":"2.0", "id":1, "method":"eth_getBlockByNumber", "params":["0x331f75",true] }
在测试计划中右键弹出菜单,添加-》Threads(Users)-》线程组并发
线程组的参数配置app
线程属性中,Ramp-Up Period(in seconds),间隔多长时间启动1个线程,直到建立100个线程,若是为0的话,则在开始测试后马上建立100个线程
能够选中“调度器”,设置须要持续测试的时间,
设置http请求头部
在一般编写的api中,是须要配置http请求头部的,在jmeter中也由相关的设置,
在线程组单击右键出现菜单栏,添加-》配置元件-》HTTP信息头管理器
添加api中须要的头部配置信息
http请求默认值的设置,能够设置请求的服务器,其余环境下的http请求只需添加对应的子路径便可完成测试,
方便测试环境与生产环境之间的切换
通常设置好服务器地址便可
右键点击“线程组”,出现菜单,添加-》Sampler-》HTTP请求
HTTP请求的路径,本次测试并未填写,可根据实际状况添加
在BodyData,中填入须要请求的参数,这里以太坊的jsonrpc-api,须要请求的参数是json格式的
{ "jsonrpc":"2.0", "id":1, "method":"eth_getBlockByNumber", "params":["0x331f75",true] }
右键点击“http请求”(就是以前添加的http请求项),添加-》监听器-》查看结果树
可在此页面中查看每次的api请求过程以及结果,方便后期分析
右键点击“http请求”,添加-》监听器->Summary Report
可在此页面中查看报告
测试完成以后,能够查看每一个api请求过程及结果
以及综合报告
综合报告各个参数指标说明
Label:取样器/监听器名称
Samples :事务数量
Average:平均一个完成一个事务消耗的时间(平均响应时间)
Min:最小响应时间
Max:最大响应时间
以上单位都是ms
Std.Dev:偏离量,越小表示越稳定
Error %:错误事务率
Throughtput:每秒事务数,即tps
KB/sec:网络吞吐量
压力测试分两种场景:一种是单场景,压一个接口的;第二种是混合场景,多个有关联的接口。压测时间,通常场景都运行10-15分钟。若是是疲劳测试,能够压一天或一周,根据实际状况来定。
压测前要明确压测功能和压测指标,通常须要肯定的几个问题:
运行完后,聚合报告会显示压测的结果。主要观察Samples、Average、error、Throughput。
有错误率同开发确认,肯定是否容许错误的发生或者错误率容许在多大的范围内;
Throughput吞吐量每秒请求的数大于并发数,则能够慢慢的往上面增长;若在压测的机器性能很好的状况下,出现吞吐量小于并发数,说明并发数不能再增长了,能够慢慢的往下减,找到最佳的并发数;
压测结束,·登录相应的web服务器查看CPU等性能指标,进行数据的分析;
最大的tps:不断的增长并发数,加到tps达到必定值开始出现降低,那么那个值就是最大的tps。
jmeter 在linux安装
简单说下,就是要先安装jdk,同时再配置环境变量,最后再上传jmeter压缩的安装包,在linux下解压完安装包就可使用了。推荐博客:http://blog.csdn.net/zhemeteor/article/details/51315874
jmeter在linux运行
进入jmeter下的bin目录下运行脚本,未配置jmeter环境变量的条件下,运行的命令:
./jmeter -n -t a.jmx -l res.jtl
其中a.jmx是准备好的jmeter脚本,res.jtl是测试结果文件,测试结果文件能够导入到jmeter察看结果树下查看。