【NO.12-1】Jmeter - 在Linux执行性能测试的方法 [1]

时间:2022-06-09 06:21:13

前面讲过在Windows执行性能测试的方法,就是这篇了《jmeter - 一个完整的接口测试的脚本》,

在Windows执行性能测试之前,首先要有1个性能测试脚本嘛,

但是这个性能测试脚本是不是直接可以在Linux上面使用?当然可以了。

那什么时候不可以呢?参数化的时候不可以,因为需要读本地的.csv文件,路经需要修改一小下。

因此,才有了另一篇《Jmeter - 构建1个可供Linux使用的Jmeter测试脚本 - 共3个步骤》。

那么,已经讲到:已经构建好了可供Linux使用的Jmeter测试脚本。

于是本篇文档就讲一下怎么在Linux使用这个"可供Linux使用的Jmeter测试脚本"。不可能像在Windows那样操作嘛,那样的话基本也就不用写了,所以还要写一下。

准备工作

//上传文件的操作:上传测试脚本文件(testPlanForLinux.jmx)、参数化数据文件(moives.csv)

//在jmeter安装文件的bin目录,上传这2个文件

操作1:$cd /home/userName/jakarta-jmeter-2.5/bin/    //Linux命令是:cd

操作2:上传movies.csv        //Linux命令是:rz

操作3:上传testPlanForLinux.jmx    //Linux命令是:rz

//上传文件的操作:上传统计测试结果的脚本文件(就是那几个写好的.awk脚本文件,用awk写的。)

//在测试结果目录,上传这3个文件

//我们在Jmeter里设置的测试结果文件保存路径是:../../result/testResult.csv

操作1:$cd /home/userName/result        //Linux命令是:cd

操作2:上传getNUM.awk、success.awk、timeattribute.awk        //Linux命令是:rz

//删除文件的操作

//在测试结果目录,在执行下1次性能测试之前,必须要删除前1次性能测试结果文件

//为什么要清除?因为我们每次执行1轮性能测试,只对本轮结果来作统计。留着旧数据没用。

操作方法1:$rm testResult.csv

操作方法2:$echo "" > /home/username/jakarta-jmeter-2.5/ testResult.csv

//在测试服务器 [ 就是被压的那台nginx服务器,如果直接删除(rm)掉结果文件,可能引起无法继续写入结果至”结果文件”,所以“操作方法2”是一个保守而稳妥的方法。]

执行测试

$cd /home/userName/jakarta-jmeter-2.5/bin/

$./jmeter -n -t testPlanForLinux.jmx

  • -n告知JMeter采用非图形化运行JMeter脚本
  • -t指定要运行的脚本文件

如果Linux系统提示性能测试脚本无法被执行,请参考以下常见的权限问题:

  • ”su”与”su –“有区别,记住最好使用”su –“。

  [ 执行”su –“时,表示该用户想要变换身份成为root,且使用root的环境设置参数文件。]

实时监控测试的方法

//进入到测试结果目录

操作:$cd /home/userName/result

//看看每1行返回结果。如果返回200,说明hosts是正确的,脚本也是正确的。

操作:tail –f testResult.csv

操作:如果需要中止实时查看,则执行快捷键 Ctrl + C

//实时查看返回结果总数目。比如在跑脚本的过程中执行一下,看看当前已经返回了多少条记录。再比如肯定要在脚本跑完后,看看总共返回了多少条记录。

操作:wc –l testResult.csv