在linux下对接口进行Jmeter 压测

需求: (1)在linux下发送http请求

            (2)从两个csv文件中读取不同的数据进行压测。

1、添加Jmeter测试计划

      

具体每个参数的含义,参看我的另外一篇博文JMeter的使用(完成一次简单的测试计划)

保存之后是.jmx文件。将.jmx文件和.csv文件(数据)上传到Linux下,注意.csv文件的路径

在jmeter的bin目录下执行 $jmeter -n -t ***.jmx -l log.jtl就可以执行这次测试计划。

参数说明:

      -n表示以nogui方式运行测试计划

     -t表示测试计划,后面跟测试计划名称

     -l表示测试结果,后面跟测试结果文件名称

结果说明:

     

2、由于我们要不停的修改并发数,可以在***.jmx文件中进行修改。但是每次都要打开文件修改比较麻烦,我们可以通过shell脚本来实现:通过输入参数来修改并发数。

      

         

那么我们现在就可以通过$sh run.sh 并发数  命令来执行测试计划了。

在压测的过程中,还可以通过top -p Pid 来查询某个进程信息,同时使用vmstat命令来观察测试情况。

如:通过端口号来查找进程命令:$ netstat -anp | grep 8088

       显示指定的进程信息: $top -p Pid

       查看整个机器的cpu、内存,IO信息:$vmstat 2 

附:Jmeter命令行选项:

   JMeter在windows系统下启动的是一个Swing GUI界面,也可以在Linux/Unix系统中作为一个命令使用。调用JMeter的 “jmeter -?”命令将打印所有命令选项的一个列表。列表如下: 
-h, --help 打印使用信息并退出
-v, --version 打印版本信息并推出
-p, --propfile {argument} 使用的JMeter属性文件
-q, --addprop {argument} 附加的属性文件
-t, --testfile {argument} 运行的jmeter测试文件(.jmx)
-l, --logfile {argument} 日志取样文件
-n, --nongui 非用户界面运行JMeter
-s, --server 运行JMeter服务器
-H, --proxyHost {argument} 设置JMeter使用的代理服务器
-P, --proxyPort {argument} 设置JMeter使用的代理服务器端口
-u, --username {argument} 设置JMeter使用的代理服务器用户名
-a, --password {argument} 设置JMeter使用的代理服务器密码
-J, --jmeterproperty {argument}={value} 定义附加的jmeter属性
-D, --systemproperty {argument}={value} 定义附加的System属性
-S, --systemPropertyFile {filename} 一个属性文件被做为系统属性添加
-L, --loglevel {argument}={value} 定义日志等级: [category=]level 例如jorphan=INFO or jmeter.util=DEBUG
-r, --runremote 从非用户界面模式启动远程服务器
-d, --homedir {argument} 使用的JMeter目录
-j,--jmeterlogfile {argument} the jmeter log file
-G,--globalproperty (argument)[=value] 定义一个JMeter属性并发往所有远程服务器。如:-Gport=123、-Gglobal.properties
-R,--remotestart serverl,... (non-GUI only) 在指定远程服务器上运行
-X,--remoteexit Exit the remote servers at end of test (non-GUI)

原文地址:https://www.cnblogs.com/Darrenblog/p/9089384.html