压力测试三(Jmeter的简单测试及常用查看结果参数介绍)

本文介绍如何使用JMeter进行性能测试,包括创建线程组、添加HTTP请求、配置监听器等步骤,并详细解释了测试结果的各项指标含义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(1)保存方案

(2)创建线程组

  线程组用来模拟用户的并发访问

  线程组主要包含三个参数:线程数、准备时长(Ramp-Up Period(in seconds))、循环次数。

  线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数。

  准备时长 设置的虚拟用户数需要多长时间全部启动。如果线程数为20 ,准备时长为10 ,那么需要10秒钟启动20个线程。也就是每秒钟启动2个线程。

  循环次数:每个线程发送请求的次数。如果线程数为20 ,循环次数为100 ,那么每个线程发送100次请求。总请求数为20*100=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。

(3)添加http请求

添加完成线程组后,在线程组上右键菜单(添加--->Sampler--->HTTP请求)选择HTTP请求。

对于jmeter来说,取样器(Sampler)是与服务器进行交互的单元。

一个取样器通常进行三部分的工作:

向服务器发送请求;记录服务器的响应数据;记录相应时间信息

一个HTTP请求有着许多的配置参数,下面将详细介绍:
名称:本属性用于标识一个取样器,建议使用一个有意义的名称。
注释:对于测试没有任何作用,仅用户记录用户可读的注释信息。
服务器名称或IP :HTTP请求发送的目标服务器名称或IP地址。

端口号:目标服务器的端口号。
方法:发送HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。
Content encoding :内容的编码方式,默认值为iso8859
路径:目标URL路径(不包括服务器地址和端口)

(4)添加监听

(5)启动


Ctrl+R 执行测试计划
Ctrl+E 清空执行结果

(6)查看结果

查看聚合报告:

 

Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值

#Samples:表示你这次测试中一共发出了多少个请求,如果模拟20个用户,每个用户迭代100次,那么这里显示2000

Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间

Median:中位数,也就是 50% 用户的响应时间

90% Line:90% 用户的响应时间

Note:关于 50% 和 90% 并发用户数的含义,请参考下文

http://www.cnblogs.com/jackei/archive/2006/11/11/557972.html

Min:最小响应时间

Max:最大响应时间

Error%:本次测试中出现错误的请求的数量/请求的总数

Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数

KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec

表格查看结果

 

Sample:每个请求的序号

Start Time:每个请求开始时间

Thread Name:每个线程的名称

Label:Http请求名称

Sample Time:每个请求所花时间,单位毫秒

Status:请求状态,如果为勾则表示成功,如果为叉表示失败。

Bytes:请求的字节数

样本数目:也就是上面所说的请求个数,成功的情况下等于你设定的并发数目乘以循环次数

平均:每个线程请求的平均时间

最新样本:表示服务器响应最后一个请求的时间

偏离:服务器响应时间变化、离散程度测量值的大小,或者,换句话说,就是数据的分布。

查看结果树

 

通过察看结果树,我们可以看到每个请求的结果,其中红色的是出错的请求,绿色的为通过。

Thread Name:线程组名称

Sample Start: 启动开始时间

Load time:加载时长

Latency:等待时长

Size in bytes:发送的数据总大小

Headers size in bytes:发送数据的其余部分大小

Sample Count:发送统计

Error Count:交互错误统计

Response code:返回码

Response message:返回信息

Response headers:返回的头部信息

图形结果

 

样本数目:发送到服务器的总请求数

最新样本:服务器响应最后一个请求的时间值

吞吐量:服务器每分钟处理的请求数

平均值:总运行时间除以发送到服务器的请求数

中间值:有一半的服务器响应时间低于该值而另一半的高于该值

偏离:服务器响应时间变化、离散程度测量值的大小




### JMeter 并发测试示例 #### 创建线程组 为了实现并发测试,在 Apache JMeter 中创建一个新的 `Thread Group` 来定义虚拟用户的数量、循环次数以及其他执行细节[^2]。 ```java // 设置线程数 (即并发用户数), 启动延迟, 循环计数等属性 <elementProp name="ThreadGroup.main_controller" elementType="LoopController"> <stringProp name="LoopController.loops">1</stringProp> <boolProp name="LoopController.continue_forever">false</boolProp> </elementProp> <intProp name="ThreadGroup.num_threads">50</intProp> <!-- 用户数目 --> <intProp name="ThreadGroup.ramp_time">1</intProp> <!-- 时间间隔() --> <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> ``` #### 添加HTTP请求默认值 通过配置 HTTP 请求默认项来简化后续 HTTP 请求的设置,可以指定服务器名称或 IP 地址和其他通用参数[^1]。 ```xml <!-- 配置全局HTTP请求信息 --> <ConfigTestElement guiclass="HttpDefaultsGui" testclass="ConfigTestElement" enabled="true"> <stringProp name="HTTPSampler.domain">example.com</stringProp> <stringProp name="HTTPSampler.port"></stringProp> <stringProp name="HTTPSampler.protocol">http</stringProp> ... </ConfigTestElement> ``` #### 设定采样器(Sampler) 对于每一个想要模拟的操作都需要添加相应的 Sampler。这里以 GET 方法为例说明如何向目标网站发起请求[^3]。 ```xml <!-- 发送GET请求到特定URL路径 --> <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" enabled="true"> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"/> <stringProp name="HTTPSampler.path">/api/resource</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> ... </HTTPSamplerProxy> ``` #### 结果监听器(Result Listener) 最后加入查看结果树或者聚合报告这样的组件以便于观察和分析测试期间产生的响应时间、吞吐量等相关指标[^4]。 ```xml <!-- 显示详细的HTML响应内容 --> <ViewResultsFullVisualizer guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" enabled="true"/> <!-- 展现汇总统计图表 --> <SummaryReport guiclass="SummariserGui" testclass="Summariser" enabled="true"/> ``` 上述配置展示了怎样利用 JMeter 构建一个简单的并发测试场景,并且能够针对不同类型的资源(静态与动态)实施有效的性能评估[^5]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值