1. 什么是性能测试,性能测试的目的
性能测试是指通过性能测试工具(Jmeter)在正常、一定负载及峰值情况下对被测系统进行测试,通过监控系统观测被测系统的各项性能指标是否满足业务需求,发现性能瓶颈并进行性能调优。
2. 性能瓶颈
类比水桶定律,最短的木板决定了它能装水的最大容积。
硬件瓶颈:cpu、磁盘I/O 、内存、网络I/O
软件瓶颈:数据库连接池太小、线程池、sql慢查询、锁竞争
3. 性能测试的评价指标
3.1 并发用户数
同一时间,使用同一个功能的用户数量。
3.2 吞吐量
每秒处理的事务数 -(Transactions Per Second, TPS)
每秒处理的请求数-(Requests Per Second, RPS)
每秒处理的查询数-(Queries Per Second, QPS)
每秒处理的点击数-(Hits Per Second, HPS)
3.3 响应时间(RT)
平均响应时间(ART):所有请求响应时间的算术平均值。
百分位响应时间:将所有请求的响应时间排序后,位于某个百分位位置的值。
例如,P90的响应时间表示 90% 的请求响应时间 小于等于该值,剩余 10% 的请求响应时间大于该值。
3.4 资源利用率
被测系统运行时占用的服务器资源(cpu、磁盘、内存、网络带宽)
4.性能测试的类型
4.1基准测试
在正常负载的情况下,运行系统查看性能指标是否满足需求
4.2 负载测试
不断增加负载(用户并发数、请求),记录系统的性能指标(比如响应时间)的下行拐点。从拐点由此确定系统的最优负载、最优用户并发数等指标
4.3压力测试(破坏性测试)
继续加压,超出正常范围,测试系统在濒临崩溃的表现(性能指标变差不再满足业务需求),确定系统的极限容量和极限能力(比如最大用户并发数)
4.4稳定性测试
在固定的负载下,让系统长时间(24小时、72小时等)验证系统长期运行的稳定性。
5.使用Jmeter编写压测脚本
当你双击运行jmeter.bat文件后会出现这段文字:
Don't use GUI mode for load testing !, only for Test creation and Test debugging.
For load testing, use CLI Mode (was NON GUI):
jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
翻译过来是: 不要使用GUI模式进行负载测试,只允许在GUI界面创建测试脚本和进行调试。
如果要进行负载测试,请使用CLI模式,并使用下面这行代码:
jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
5.1解释下GUI和CLI:
GUI(Graphical User Interface,图形用户界面),下面就是Jmter的GUI界面,可以在这里创建测试计划、录制压测脚本和脚本调试。

CLI(Command-Line Interface,命令行界面)
1.打开命令行
2.切换到jmeter的bin目录
3.使用jmeter的执行命令
jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
-n 表示非GUI模式; -t 你的测试文件路径 ; -l 指定结果文档的保存路径(.jtl)格式
-e 测试结束后生成html报告 ; -o 将生成的html报告保存在指定目录
4061

被折叠的 条评论
为什么被折叠?



