性能测试-----性能测试报告生成以整合监控
一、系统资源怎么监控
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是可以监控程序内部的内存