生成JMeter性能测试报告/JVM监控
一、生成jmeter性能测试报告
配置修改:
1.进入到jmeter的bin目录下找到jmeter.properties文件
2.打开jmeter.properties文件,按下ctrl+f,查找jmeter.save.saveservice.output_format,将xml改为csv,并且取消注释
3.将做的测试脚本放在D:\testDev\apache-jmeter-5.4.1\tests\script 目录下
4.在控制台进入到Jmeter-tests目录下,执行命令:jmeter -n -t script/一码通.jmx -l api.jtl -e -o performanceReport/
5.在cmd执行命令之后会在apache-jmeter-tests下生成一个perforanceReport,再进入该目录下,可以看见生成了index.html的性能测试报告
6.通过浏览器打开该测试报告(重点关注首页、响应时间、吞吐量)
7.注意,每次重新生成测试报告需要删除之前的perforanceReport和api.jtl
二、要模拟多个不同的账户同时登录需要使用参数化思想
参数化: 在客户端模拟向服务端发送请求的过程中模拟不同的数据
1.在jmeter-tests-data下创建一个login.tst,将不同登录账号和密码填写进去,保存
2.添加一个CSV数据文件设置,在文件名处点击浏览,找到login.txt存放的目录位置,文件编码选择UTF-8,变量名称填写username,password
3.在消息体数据这里调用username和password变量名,在JMeter里面,调用变量使用的是:${变量名称}
4.点击发送请求,在查看结果树中,点击请求,会看见每次登录的账号密码是不同的
性能测试中针对登录你是怎么测试的?(面试题)
首先需要明确的是登录的性能测试目标,也就是每秒并发多少个用户同时登录系统,在目标的基础上,下来造具体的登录系统的用户。
因为在测试中每秒并发登录使用的是不同的用户登录。
三、JVM监控
几大主流开发语言
Java:sun 企业级市场占据绝对性的优势,特别是在新的架构模式下,它的技术组件非常完善。
Go:Google,Go是随着k8s,容器技术而流行的语言。字节跳动里面的测试开发必须要懂go语言
Python:在大数据领域,数据分析领域,机器学习领域非常具备优势。
C,C++:底层操作系统,以及驱动。
Net,C#:
Java是一个跨平台(Linux,unix,windows)的语言,具体的来说就是在某一个平台编写的代码,能够在其他的平台上也是能够执行的。
Java语言写的那些程序容易内存泄露:
1、使用到文件读写的,比如淘宝的下发优惠劵,比如文件上传,文件下载,文件传输。
Java程序部署:
a、使用maven打包成.jar的文件,然后使用如下命令来启动: java -jar xxx.jar
b、使用maven打包成.war的文件,然后使用如下命令来启动:java -jar xxx.war
JVM概述:
JVM监控工具主要监控Java应用程序是否会内存泄露,当然也可以监控该Java应用程序的CPU资源。比如该服务分配了0.1C的CPU,200M的内存,那么当内存使用率达到200或者是超过200M,这个时候就内存泄露。
1.将程序员所写的.jia存放到桌面
2.在控制台先进入到桌面,输入命令java -jar app-0.0.1-SNAPSHOT.jar,启动java应用程序
3.重新打开一个cmd控制台,输入命令:jvisualvm
会弹出以下页面,点击app-0.0.1-SNAPSHOT.jar,再点击监视
在工作中,在jmeter中发送请求,同时打开jvm,监控资源的变化情况,重点关注CPU和内存。
如果内存泄露了怎么办?(面试题)
把内存泄漏的问题提交给开发,开发优化修改之后返回给测试,测试用原来的数据和配置再次进行测试,看是否测试通过。