一. jmeter 包目录介绍
1.bin 目录是可执行文件, jmeter.bat 启动, 里面可设置 jvm 参数
根据经验, heap 最多设置为物理内存的一半, 默认设置为 512M. 如果 heap 超过物理内存的一半, 可能运行 jmeter 会慢, 甚至出现内存溢出.
2.jmeter 的 log 在 jmeter.log 中查看
jmeter.properties 文件中有一个属性 log_level.JMeter 可以设置改变日志详细度. 默认是 info, 可改为 debug
3.docs 下是 jmeter 的 java docs
4.printale_docs 的 usermanual 子目录下是 jmeter 用户手册, 其中 componet_reference.html 是最常用的核心元件帮助手册
5.extras 目录下的文件提供了对 ant 的支持可以利用 ant 来实现自动化, 例如批量执行脚本, 产生 html 报告等
运行 jmeter 的时候会产生一个 jtl 文件, 把它放到 extras 目录下, 运行 ant-Dtest = 文件名 report 就可以生成测试统计报表
6.lib 目录下的 ext 子目录是 jmeter 的核心 jar 包; junit 子目录是放 junit 脚本的.
用户扩展所依赖的包直接放在 lib 下即可, 不要放到 lib/ext 下.
二, jmeter 元件的作用域
配置元件(config elements): 会影响其作用范围内的所有元件.
前置处理程序(Per-processors): 在其作用范围内的每一个 sampler 元件之前执行.
定时器(timer): 对其作用范围内的每一个 sample 有效.
后置处理程序(Post-processors): 在其作用范围内的每一个 sampler 元件之后执行.
断言(Assertions): 对其作用范围内的每一个 sampler 元件执行后的结果执行校验.
监听器(Listeners): 收集其作用范围的每一个 sampler 元件的信息并呈现.
sampler 元件不和其他元件相互作用, 因此不存在作用域的问题.
三, 性能测试相关术语
1. 负载: 模拟业务操作对服务器造成压力的过程, 比如模拟 100 个用户进行发帖.
2. 性能测试(Performance Testing): 模拟用户负载来测试系统在负载情况下, 系统的响应时间, 吞吐量等指标是否满足性能要求.
3. 负载测试 (Load Testing): 在一定软硬件环境下, 通过不断加大负载(不同虚拟用户数) 来确定在满足性能指标的情况下能承受的最大用户数. 性能测试指标包括 TPS(每秒事务数),RT(事务平均响应时间),CPU Using(CPU 利用率),Mem Using(内存使用情况)等软硬件指标.
4. 压力 / 强度测试 (Stress Testing): 在一定软硬件环境下, 通过高负载的手段来使服务器资源(强调服务器资源, 硬件资源) 处于极限状态, 测试系统在极限状态下长时间运行是否稳定, 确定是否稳定的指标包括: TPS,RT,CPU Using,Mem Using 等.
5. 稳定性测试(Endurance Testing): 在一定软硬件环境下, 长时间运行一定负载, 确定系统在满足性能指标的前提下是否运行稳定.
6.TPS: 每秒完成的事务数, 通常指每秒成功的事务数, 性能测试中重要的综合性性能指标.
7.RT/ART(Response Time/average Response Time): 响应时间 / 平均响应时间, 指一个事务花费多长时间完成(多长时间响应客户请求).
7.PV(Page View): 每秒用户访问页面的次数, 此参数用来分析平均每秒有多少用户访问页面.
8. 标准差(Std. Deviation): 该标准差根据数理统计的概念得来, 标准差越小, 说明波动越小, 系统越稳定, 反之标准差越大, 说明波动越大, 系统越不稳定.
四, jmeter 元件
1. 监听器 - 聚合报告(名词解释)
单位: 毫秒
label: 定义 HTTP 请求名词
Samples: 表示这次测试中一共发出了多少个请求
Average: 平均响应时长 -- 默认情况下是单个 Request 的平均响应时长, 当使用了 Transaction Controller 时, 也可以以 Transaction 为单位显示平均响应时长.
Median: 中位数, 也就是 50% 用户的响应时长.
90%Line:90% 用户的响应时长.
Min: 访问页面的最小响应时长.
Mzx: 访问页面的最大响应时长.
Error%: 错误请求的数量 / 请求的总数.
Throughput: 默认情况下表示每秒完成的请求数量(Request per Second), 当使用了 Transaction Controller 时, 也可以表示类似 LoadRunner 的 Transaction per Second 数.
KB/Sec: 每秒从服务端接收到的数据量.
聚合报告保存文件的格式是 jtl.
来源: http://www.bubuko.com/infodetail-2563003.html