当前位置: 首页 > news >正文

linux上用Jmter进行压测

         在上一篇中安装好了Jmeter环境,在这一篇中将主要分享如何使用jmeter在linux中进行单机压测。

1.项目部署

        在这里我们先简单部署一下测试环境,所用到的项目环境是个jar包,先在linux上home目录下新建app目录,然后通过rz命令将项目jar包上传到该目录下,然后执行命令启动项目:

nohup java -jar pinter.jar &

需要注意的点:

        尽量选linux上不常用的目录来存储项目,减少一些不必要的麻烦。

        因为用的是阿里云的服务器,项目所用到的端口一定要在安全组中开放。

2.Jmeter压测

2.1.编写脚本

        因为linux上不能编写脚本,所以进行压测的脚本需要先在本地开发调试完成,在配置好了之后上传到linux中使用,这里准备了一个小脚本,10个线程,执行3分钟,如下所示。

2.2.上传脚本

        用mkdir命令在home目录下新建scripts目录,进入scripts,使用rz命令将待压测脚本上传到当前目录下。

2.3.修改响应时间间隔

        压测的时间jmeter默认响应(打印结果)输出日志为30秒一次,可以在jmeter的bin目录下修改jmeter.properties文件中下面的值。

        

2.4.进行压测

        执行命令启动脚本:

jmeter -n -t 12_linux测试脚本.jmx -l test-10.jtl

 -n: 命令行模式 no-gui;

-t:jmx脚本路径;

-l:jtl结果文件名称,默认存放在当前路径;

         请求数据总共分2种,一种是带“+”号的为当前新增数据,带“=”号的为截止目前为止的汇总数据,请求执行效果和对应字段解释如下所示。

3.查看报告

3.1.查看聚合报告

        jmeter在linux中生成的压测报告无法在linux上直接查看,可以将生成的jtl文件通过sz命令下载到本地电脑,然后在jmeter图像界面中导入到当前脚本聚合报告中查看,可以看到tps和我们在linux上看到的基本一致,如下图所示。

3.2.生成报告

        在linux中生成的压测数据,不能直接以报表的形式展示,但是可以通过自带的命令生成美观的报告,可以将生成的报告下载到本地电脑上进行查看。

Html的报表生成步骤如下:

1、进入jmeter的bin目录下,修改reportgenerator.properties;

2、修改jmeter.reportgenerator.overall_granularity=1000(报表中数据展示间隔1秒) ;

3、创建一个存放数据报表的文件夹(我这里是在/home/scripts目录下新建了一个result目录);

4,执行命令:jmeter -g test-10.jtl -o ./report/  

        上述命令执行成功后,会将报表数据生成到report目录下,但是无法在linux中打开,将index.html文件拿到本地也无法正常查看,需要整个report目录下数据做支撑,因为不是压缩包无法直接通过sz下载,所以需要先执行压缩命令将文件进行压缩,如下所示。

zip -r report.zip report

        下载压缩文件:

sz report.zip

        在本地电脑上解压,然后打开index.html文件就可以看到很多维度的报表数据,丰富且精美,如下图所示。

4.生成报告失败原因

要想文件生成成功需要注意以下几点:

        生成报告的.jtl文件格式必须是csv,如果发现格式不对,可以在bin目录下的jmeter.properties文件中修改:

jmeter.save.saveservice.output_format=csv

生成报告的report目录必须是空的,否则会报错,如下所示。

http://www.lryc.cn/news/345917.html

相关文章:

  • 【Java代码审计】代码审计的方法及常用工具
  • 我国吻合器市场规模不断扩大 国产化率有所增长
  • 深度剖析Comate智能产品:科技巧思,实用至上
  • Centos 7.9 配置VNCServer实现远程vnc连接
  • 设计模式-08 - 模板方法模式 Template Method
  • Android 适配阿拉伯语之vector图标镜像
  • 推荐4个可用的github国内镜像
  • 从项目开始学习Vue——02(若依框架)
  • 使用JavaScript日历小部件和DHTMLX Gantt的应用场景(二)
  • springboot整合redis多数据源(附带RedisUtil)
  • Web实时通信的学习之旅:SSE(Server-Sent Events)的技术详解及简单示例演示
  • Apache Flume事务
  • 根据部门id删除该部门下的员工(事务)
  • Java之String类
  • es终止快照恢复进程的方法
  • ubantu安装rabbbitmq
  • 了解 条码工具 Dynamsoft 在条码读取器中的形态运算
  • NIO和NIO.2对比
  • Google准备好了吗?OpenAI发布ChatGPT驱动搜索引擎|TodayAI
  • 乐观锁、悲观锁、互斥锁、读写锁
  • Gin入门指南:从零开始快速掌握Go Web框架Gin
  • Scala里的class、object、case class、case object 、trait
  • 移动端自动化测试工具 Appium 之 main 启动
  • WT32-ETH01作为TCP Client进行通讯
  • jni 返回二维byte数组
  • “webpack-dev-server --config build/webpack.dev.conf.js” 请问这个问题要如何修复
  • TOOL使用fiddler导出的har文件导入到postman测试接口
  • 第十三届蓝桥杯决赛(国赛)真题 Java A 组【原卷】
  • 数据结构_顺序表中基本操作的实现_代码
  • 提升SEO排名!SSL证书对SEO效果的积极影响