性能测试-----性能测试报告生成以整合监控


一、系统资源怎么监控

1.1、后端监听器配置过程

右击线程组---添加----监听器---后端监听器

 当创建好后端控制器后,需要注意的是需要放在线程组的上面且与线程组平级处理,然后选择下图所指的nfluxdb.influxdbBackendListenerClient

1.2、操作步骤

第一步、修改文件参数,将第二个修改为端口地址,具体位置如下:i

第二步、当创建好后端控制器后,需要注意的是需要放在线程组的上面且与线程组平级处理,然后选择下图所指的nfluxdb.influxdbBackendListenerClient

 第三步、选择好之后 我们需要解压ServerAgent压缩包

 注意 需要与JMeter解压到同一目录下

第四步、 点击startAgent

 第五步、点击过后出现下图所示即为启动成功

第六步、在JMeter当中 右键测试计划 选择监听器当中的 PerfMon

 第七步、在PerfMon当中 我们需要点击Add Row 在Metric to collect 默认端口为4444  在里面选择常用的 CPU、Swap、Memory、Disksi/O执行测试用例即可监控服务器资源

二、JMeter性能测试报告怎么生成

1.1、配置

在JMeter的当前目录下,把bin目录下的jmeter.properties文件jmeter.save.saveservuce.output_format=csv禁用取消,如下图所示

环境变量配置

把jmeter设置到path的环境变量,如下图所示:

1.2、操作步骤

当所有文件配置完成后打开控制台-----进入jmeter下的tests文件夹中---输入jmeter -n -t script/TestDev.jmx -l testdev.jtl -e -o performanceReport/---等待控制台响应---响应完成后再test文件家中会出现performanceReport和testdev文件---点击performanceReport---里面有一个index.html文件---点击index.html文件就会出现生成的测试报告

注意:jmeter -n -t script/TestDev.jmx -l testdev.jtl -e -o performanceReport/命令拆解

-n : 非GUI 模式执行JMeter
-t : 执行测试文件所在的位置及文件名
-r : 远程将所有agent启动用在分布式测试场景下,不是分布式测试只是单点就不需要-r
-l : 指定生成测试结果的保存文件, jtl 文件格式
-e : 测试结束后,生成测试报告
-o : 指定测试报告的存放位置
-o 指定的文件及文件夹,必须不存在 ,否则执行会失败,对应上面的命令就是resultReport文件夹必须不存在否则报错

1.3、实战

先打开控制台并进入jmeter中的test文件中

 进入之后输入jmeter -n -t script/TestDev.jmx -l testdev.jtl -e -o performanceReport/等待系统响应

 系统响应完成

 之后打开tests文件夹,其中会出现performanceReport和testdev文件

 其中performanceReport中存放着测试报告,

打开performanceReport,中的index.html,即可看到测试报告

三、性能测试平台

自动化可监视平台的逻辑  是由JMeter执行收集数据 到influBD(时序数据库)储存 同步到Grafana进行可视化展示

 3.1Jvisualvm相关知识

JVisualvm,能工监控线程,内存情况,查看方法的CPU时间和内存中的对象,已被GC的对象,反向查看分配的堆栈(如100个String对象分别由哪几个对象分配出来的)

每一个程序被称为一个进程-每一个进程所对应一个pid JVM的作用就是用来监控应用程序的资源情况

jvisualvm的位置是在jdk的bin目录下 如下图所示

 我们在运行该程序之前 需要配置环境变量,在系统变量的path将bin目录进行配置

 当我们配置好后 运行cmd控制台 输入jps 就可以看到应用程序的pid 运行效果如下

 在控制台中输入jvisualvm

 在这里需要注意的是 JVM只针对的是java编写的程序内存 而不是服务器本身的内存 

一个服务器可以拥有多个程序  每个程序的内存分配是不同的

则JVM是可以监控程序内部的内存