JMeter工具下载地址:https://download.csdn.net/download/qq_27026603/12655106
Jmeter设置语言为中文:
Options – > Choose Language – > Chinese(Simplified)
创建一个线程组
设置线程组参数
- 线程数:我将它理解成模拟的用户数,假设线程数为50,那么相当于模拟50个用户;
- Ramp-Up Period:每个线程的执行时间间隔,如果为0那么就相当于是并发的意思;
- 循环次数:执行任务的次数,永远的意思就是一直循环执行,不停止;
- 调度器:设置开始、结束时间
假设线程数为50,我们可以当做50个用户同时执行一次任务
创建HTTP请求
配置HTTP请求
添加运行结果监听器(察看结果树,聚合报告,图形结果)
聚合报告
- Smples:本次场景中一共完成了多少次请求
- average:平均响应时间
- Median:中位数、也就是说统计50%的用户响应时间
- 90%Line:90%用户的响应时间
- 95%Line:95%用户的响应时间
- min:最小响应时间
- max:最大响应时间
- PS:以上时间的单位均为ms
- error%:本次场景中出错的请求数量/请求的总数
- troughput:吞吐量、“吐”进去的是请求,“吐”出来的是结果,吞吐率说的是软件系统的“饭量”,即软件系统的处理能力,也就是单位时间内软件系统能够处理多少数据/事务
- KB/sec:以流量作衡量的吞吐量,也就是说每秒从服务器接收的数据量
察看结果树
我只开了5个线程看一下,主要看下参数
Thread Name(线程组名称)
Sample Start( 启动开始时间)
Load time(加载时长)
Connect Time:(连接时长)
Latency(等待时长)
Size in bytes(发送的数据总大小)
Sent bytes
Headers size in bytes(发送数据的其余部分大小)
Body size in bytes
Sample Count(发送统计)
Error Count(错误统计)
Data type ("text"|"bin"|"")
Response code(返回状态码): 200
Response message(返回信息): OK
这里绿色的就说明请求是通过的,返回值是200,如果出现红色的×就说明请求失败,这时候可以通过右边的取样器结果和响应数据来查看结果。
聚合报告
图形结果
小结
一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。
单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。
系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间
QPS(TPS) 吞吐:每秒钟request/事务 数量
并发数: 系统同时处理的request/事务数
响应时间: 一般取平均响应时间
(很多人经常会把并发数和TPS理解混淆)
理解了上面三个要素的意义之后,就能推算出它们之间的关系:
QPS(TPS)吞吐 = 并发数/平均响应时间 =线程数/平均的响应时间
【假如100个线程,100毫秒返回,则 100/0.1=1000 1秒1千的吞吐】
【而并发的话,在同一个时间能返回多少,成功失败都包括,不断加大线程来测,观察服务器的瓶颈】
一个系统吞吐量通常由QPS(TPS)、并发数两个因素决定,每套系统这两个值都有一个相对极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统的吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,上下文切换、内存等等其它消耗导致系统性能下降。