Jmeter压测测试

Jmeter安装启动

1、Jmeter下载安装

模拟真正的大量并发请求

下载Jmeter:Apache JMeter - Download Apache JMeter

Jmeter压测测试_第1张图片

解压apache-jmeter-5.4.1.zip文件至目录下(不要有空格和中文)

Jmeter压测测试_第2张图片


2、配置JMETER_HOME 

  • 在系统中搜索设置

  • 打开设置,在设置功能里,点击第一项 系统

  • 在系统功能里,左侧菜单找到关于

  • 在关于的相关设置里可以看到高级系统设置

  • 点击高级系统设置后,会打开系统属性窗口,在窗口中,就能找到环境变量

JMETER_HOME,

   变量名输入:JMETER_HOME 

   变量输入:E:\server\jmeter\apache-jmeter-5.4.1\apache-jmeter-5.4.1

Jmeter压测测试_第3张图片

3、编辑CLASSPATH变量

加上下面这行,然后确定

%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar;

3、启动Jmeter

点击Jmeter中bin目录下面的jmeter.bat文件即可打开Jmeter了。

Jmeter压测测试_第4张图片

接着会打开俩个窗口:Jmeter的命令窗口和Jmeter的图形操作界面,不可以关闭命令窗口

切换一下界面主题和语言 

Jmeter压测测试_第5张图片

Jmeter压测测试_第6张图片


JMeter入门

1、测试计划test plan

一个性能测试场景, JMeter称之为 test plan ,中文翻译为 测试计划 。

实际上,一个 JMeter的测试计划 对应 性能测试的一个场景,其实也就是一个 测试用例 。


2、线程组

JMeter 把同一种用户的行为和数量, 用线程组来定义,代表有一批用户,都是这样的行为

1.添加线程组

2.一个线程代表一个用户,线程组中配置了几个线程数就是表示几个用户使用。

Jmeter压测测试_第7张图片

Ramp-Up时间: 所有用户上线的总时间,以秒为单位。

循环次数:每个用户 做线程组里面定义的行为多少次。 默认1次


3、手动取样器

一个具体的请求,是通过 Sampler 取样器 来 定义的,最常用的就是这个 HTTP请求取样器。

右键线程组-添加取样器  http请求,5个用户都去访问hello接口

Jmeter压测测试_第8张图片

Jmeter压测测试_第9张图片


4、查看结果树

 监听器 :最常见的就是查看结果树 ,里面会显示HTTP请求具体的细节的信息。

 线程组右键,添加-监听器-查看结果树

Jmeter压测测试_第10张图片

Jmeter压测测试_第11张图片

结果树中大概就长这样

  • Connect Time : jmeter 和 被测系统 建立 TCP 连接的时间,包括3路握手时间, 如果连接复用, 值为0
  • lantency: 从发出请求前 到 接收完第一个响应的时间
  • load time: 从发出请求前 到 接收完所有响应的时间 如果是长消息
load time >= lantency,因为有多个响应【区别在于是不是一次能接受完】

Jmeter压测测试_第12张图片

 这里显示了很多信息,分别是如下意思:

Thread Name    线程组名称
Sample Start    启动开始时间
Load time    加载时长,这个时间是我们测试常用的时间,也是整个请求的消耗时间,从发送到接收完成全程消耗的时间
Latency    等待时长,不常用,表示从请求发送到刚开始接收响应时的时间
Size in bytes    发送的数据总大小
Headers size in bytes    发送头大小
Body size in bytes    发送数据的其余部分大小
Sample Count    发送请求数统计
Error Count    交互错误统计
Data type    数据类型
Response code    返回码
Response message    返回信息
Response headers    返回的头部信息
HTTPSampleResult    其它附加的请求信息

Size in bytes : 整个消息消息大小 = Headers size in bytes + Body size in bytes

Headers size in bytes : 响应消息头大小

Body size in bytes : 响应消息体大小


5、开启并发压力测试

接着开启并发压力测试,

Tomcat是一个Web应用服务器,同时也是一个Servlet/JSP容器。Tomcat作为Servlet容器,负责处理客户端请求,把请求传送给Servlet,并将Servlet的响应返回给客户端。

tomcat的默认的工作线程数被打满了,没有多余的线程来分解压力和处理。

server:
  tomcat:
    max-connections: 10000 #最大连接数,默认为10000
    accept-count: 100 # 最大连接等待数,默认100 
    max-threads: 200  #最大工作线程数,默认200
    min-spare-threads: 10 #最小工作线程数,默认10
每一次HTTP请求到达Web服务器,Web服务器都会创建一个线程来处理该请求.最大工作线程数:(4核8g内存,线程数800,一般是 核数*200 )

JMeter进阶

1、录制取样器

你可能感兴趣的:(jmeter)