jmeter常用测试元件 测试计划:默认 线程组:设置并发数、并发时间、请求循环次数 采样器(simple):较常用HTTP请求、JDBC Request、Soap/XML - RPC Request 监听器:查看结果树 断言:响应断言,通过对比服务器返回的响应数据,判断请求是否成功 配置元件:用户定义参数 后置处理器:正则表达式 创建一个线程组 TestPlan --> 添加 --> 线程 --> 线程组
设置线程组参数
线程数:我将它理解成模拟的用户数,假设线程数为100,那么久相当于模拟100个用户; Ramp-Up Period:每个线程的执行时间间隔,如果为0那么就相当于是并发的意思; 循环次数:执行任务的次数,永远的意思就是一直循环执行,不停止; 调度器:设置开始、结束时间、打开看看就懂了;
假如线程数为100,Ramp-Up Period 循环次数为1 意思可以理解成100个用户(线程)同时执行一次任务 创建HTTP请求 线程组 --> 添加 --> 取样器 --> http请求
配置HTTP请求
添加运行结果监听器 线程组 – > 添加 – > 监听器 – > 察看结果树/聚合报告
聚合报告
Smples:本次场景中一共完成了多少次请求 average:平均响应时间 Median:中位数、也就是说统计50%的用户响应时间 90%Line:90%用户的响应时间 95%Line:95%用户的响应时间 min:最小响应时间 max:最大响应时间 PS:以上时间的单位均为ms error%:本次场景中出错的请求数量/请求的总数 troughput:吞吐量、“吐”进去的是请求,“吐”出来的是结果,吞吐率说的是软件系统的“饭量”,即软件系统的处理能力,也就是单位时间内软件系统能够处理多少数据/事务 KB/sec:以流量作衡量的吞吐量,也就是说每秒从服务器接收的数据量。
jmeter弱网测试:
找到apache-jmeter-3.2/bin/jmeter.properties文件 找到参数,分别为限制http即https #httpclient.socket.http.cps=0#httpclient.socket.https.cps=0 计算逻辑:cps = (target bandwidth in kbps * 1024) / 8, 所以cps=B/s的速率 参考官网文档:cps属性为了模拟低网速
二、对于网络带宽的换算 1、网络速率 100Mbps=100Mbit/s即兆比特每秒 100MB/s=100MBytes/s即兆字节每秒 1B=8bit 100Mbps=12.5MB/s,理论上平常的百兆带宽下载速率可以达到12.5MB/s 100MB/s=100*1024KB/s=100*1024*1024B/s 2、数据存储 对于数据硬盘之类的存储换算比较不同 数据存储是以10进制表示,1MiB=1000KB
三、jmeter分别配置不同的cps测试响应时间的变化 默认情况下该接口,内网测试如下
响应时间很小,设置cps=40KB/s=40*1024B/s=40960,查看网络延迟情况
Samples:样品个数
Average:平均值
Median:中间值
Throughput:吞吐量
Received KB:接受
Sent KB:发送
可以看到平均网络延迟了1分多钟