性能测试5.23
jmeter生成html性能测试报告:
1、进入到jmeter文件夹 在bin目录下找到一个jmeter.properties文件
2、记事本打开jmeter.properties文件 这个文件 在这个里面找到
jmeter.save.saveservice.output_format
3、把上步的值xml改成csv,去掉前面的注释 保存
4、在jmeter中创建一个tests文件夹,在这个文件夹里面再创建一个script 文件
5、把jmeter中的测试计划保存再script中 (比如一码通.jmx文件)
6、执行命令
jmeter -n -t script/一码通.jmx -l api.jtl -e -o performanceReport/
7、执行完后 tests目录下会出现一个performanceReport 文件,测试报告就是里面的index文件
生成报告注意事项:
1、如果不是第一次执行的话,记得把tests目录里面的performanceReport和api.jtl 这两个文件删除(或者给它重命名)因为,执行生成报告会自动生成这2个文件
2、执行生成报告命令之前一定要保存
缓存:
第一次获取24小时核酸检测结果,客户端真实的向服务端发送请求来获取数据,后面在24小时以内查询,都不会获取,直接使用缓存的数据
参数化:
在客户端模拟向服务端发送请求的过程中模拟不同的数据
关于登录多用户同时并发流程:
目标是6个用户同时并发:
1、在线程组中添加一个http登录的请求
2、添加一个http请求
A、所有的登录都是post请求
B、所有的登录都是需要账户和密码的
3、添加http信息头管理器
http信息头管理器:填写请求的数据格式
4、添加csv文件设置
5、到jmeter中的tests文件中创建一个data文件夹,并且在这个文件夹中创建一个login.txt
文件。(可以在这个login.txt中添加多用户)
6、打开jmeter 给csv数据文件设置中设置数据
文件名:定位到login.txt文件位置
编码:utf-8
变量名称:username,password
7、在登录的数据体中调用文件中的账号和密码
(注意:在JMeter中,调用变量使用的是:${变量名称})
8、根据目标设置并发数 然后保存 运行即可
核对是否调用成功:
察看结果树---看下每次请求的数据不同
性能测试针对登录测试总结:
性能测试中针对登录你是怎么测试的?
首先需要明确的是登录的性能测试目标,也就是每秒并发多少个用户同时登录系统,在目标的基础上,下来造具体的登录系统的用户。因为在测试中每秒并发登录使用的是不同的用户登录。
常见的几种语言:
Java:sun 企业级市场占绝对性的优势,特别是在新的架构模式下,它的技术组件非常的完善。
Go:Google,Go是随着k8s,容器技术而流行的语言。字节跳动里面的测试开发必须要懂go语言
Python:在大数据领域,数据分析领域,机器学习领域非常具备优势。
c,C++:底层操作系统,以及驱动
Net,C#:
Java是一个跨平台(Linux,unix,windows)的语言,具体的来说就是在某一个平台编写的代码,能够在其他的平台也是能够执行的。
使用Java语言开发的产品一般都会存在OOM所以需要JVM的监控
JVM监控
JVM是针对OOM的监控
JVM的作用是:
主要监控Java应用程序是否会内存泄漏,当然也是可以监控该Java应用程序的CPU资源。比如该服务分配了0.1C的CPU,200M的内存,那么当内存使用率达到200或者是超过200M,这个时候就内存泄漏
启动java应用程序
1、打开控制台进入到jar/war 包位置(我把这个jar包放在了桌面)
2、启动这个包(出现以下图就证明应用程序已经启动成功)
java -jar app-0.0.1-SNAPSHOT.jar
注意出现端口被占用,解决方法
1、察看下是那个进行占用了这个端口
netstat -ano
2、删除占用这个端口占用的进程
taskkill /pid 11456 -f
JVM监控流程
1、启动java应用程序
2、重新再打开一个新的控制台 输入
jvisualvm
3、然后弹出一个窗口
4、点击左侧的app......点击监视
Java语言写的哪些程序容易内存泄漏
1、使用到的文件读写,比如淘宝的下发优惠劵,比如文件的上传,文件的下载,文件的传输
如果内存泄漏了怎么办?
反馈给开发,开发优化完问题,我们再根据同样的配置和数据,同样的操作步骤,同样的监监控工具 继续测试下,看是是否存在问题。