1、哪些业务需要做压力测试?
比较常用的功能模块
单一业务场景或者多业务场景
项目需要做的业务场景
2、压力测试的并发数是多少?
有预期的数值?一次性达到?有上次性能测试的结果值?
无预期的数值?只有参考的在线用户数? 2:8原则,可以用在线用户数的20%作为参考去测试
3、关注哪些参数?
响应时间 1:3:5或者 2:5:8
tps每秒并发的事务数,会有极限值,根据结果去做一个并发数/脚本的调整 采用叠加
错误率
cpu (不要超过80%)和内存(至少有20%的空余)的使用情况
队列<1
磁盘:读写操作频率不要过高
使用Assertion对结果进行简单的分类:添加在HTTP请求下面
响应断言:通常是用于每一个request sample进行额外验证的工具
响应时间的断言:规定请求的响应时间不能超过多少毫秒
保存测试结果,在查看结果树:
命令窗口,进入jmenter\bin文件夹下,jmeter -n -t "脚本路径"
jmeter --help 或者jmeter -h
非GUI模式,即CTL或者Non gui mode,其中-n指non -t指testplan -l指log
-n:non gui mode 无图形界面模式
-t:testplan待执行的测试计划 jmeter -n -t \scripte\scvRead.jmx
-l:log 输出解雇报告文件路径名(.jtl 或者.csv)
-g:输出报告文件(.csv)
-r/R:remotehosts 分布式指定机器ip,分压运行
2,指定结果文件及日志路径:(聚合报告和查看结果树)
jmeter -n -t test.jmx -l report\result.csv -j report\log.log
结果文件类型为jtl或csv,可通过Jmeter的聚合报告浏览结果文件,查看最终的结果
3,Jmeter生成Html报告
Jmeter提供和一个用于生成Html页面格式图形化报告的扩展模板,该模板支持通过两种方式生成多维度图形化测试报告;
在Jmeter性能测试结束时,自动生产本次测试的HTML图形化报告
使用一个已有的结果文件(如jtl,csv文件)来生成两次结果的html图形化报告
步骤:
1,在jmeter.properties或者user.properties确认如下配置项:
jmeter.save.saveservice.bytes = true
jmeter.save.saveservice.label = true
jmeter.save.saveservice.latency = true
jmeter.save.saveservice.response_code = true
jmeter.save.saveservice.response_message = true
jmeter.save.saveservice.successful = true
jmeter.save.saveservice.thread_counts = true
jmeter.save.saveservice.thread_name = true
jmeter.save.saveservice.time = true
# the timestamp format must include the time and should include the date.
# For example the default, which is milliseconds since the epoch:
jmeter.save.saveservice.timestamp_format = ms
# Or the following would also be suitable
jmeter.save.saveservice.timestamp_format = yyyy/MM/dd HH:mm:ss
jmeter.save.saveservice.assertion_results_failure_message = true
2,在脚本执行完毕后自动生成报告
参考文档:https://www.cnblogs.com/imyalost/p/10239317.html
基本命令格式:jmeter -n -t <test JMX file> -l <test log file> -e -o <path to output folder>
示范:jmeter -n -t "text.jmx" -l testLogFile.csv -e -o d:\test_result
参数:-e:在脚本运行结束后生成html
-o:保存html报告的路径,此文件夹必须为空或者不存在
3,Jmeter查看html报告
4,Jmeter压力测试报告模板