使用JMeter进行压力测试

article/2025/9/24 5:59:08

1. 引言

在日常开发中,当完成一个接口开发时,需要对接口进行准确性测试,比如PostManSwagger等,但在接口上线运行前对其进行性能测试是很有必要的,就是所谓的接口压力测试。

压力测试就是考察当前软硬件环境下系统所能承受的最大负荷,并借助结果找出系统瓶颈所在。使用压力测试可以找到更难发现的问题,比如:内存泄漏,并发和同步。

有效的压力测试系统将应用一下这些关键条件:重复、并发、量级、随机变化。

2. 压力测试指标

2.1 性能指标

  • 响应时间(Response Time : RT

    响应时间指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回的响应结束,整个过程所耗费的时间,下面熟悉一下结果名词:

  • HPSHits Per Second):每秒点击次数,单位是次/秒

  • TPSTransaction Per Second):系统每秒处理交易数,单位是笔/秒

  • QPSQuery Per Second):系统每秒处理查询次数,单位是次/秒

对于互联网业务,某些业务有且仅有一个请求连接,那么TPS=QPS=HPS,一般情况下,TPS来衡量整个业务流程QPS来衡量接口查询次数HPS来表示对服务器单击请求。无论TPSQPSHPS,此指标是衡量系统处理能力非常重要的指标,越大越好。

一般情况下:

金融行业:1000TPS~50000TPS,不包括互联网化的活动
保险行业:100TPS~1000000TPS,不包括互联网化的活动
制造业:10TPS~5000TPS
互联网电子商务:10000TPS~10000000TPS
互联网中型网站:1000TPS~50000TPS
互联网小型网站:500TPS~10000TPS

  • 最大响应时间(Max Response Time):指用户发出请求或者指令到系统做出反应(响应)的最大时间

  • 最少响应时间(Mininum Response Time):指用户发出请求或者指令到系统做出反应(响应)的最少时间

  • 90%响应时间(90% Response Time):是指所有用户的响应时间进行排序,第90%的响应时间。

性能测试主要关注如下三个指标

  • 吞吐量:每秒钟系统能够处理的请求数、任务数,该值越大越好
  • 响应时间:服务处理一个请求或一个任务的耗时
  • 错误率:一批请求中结果出错的请求所占比例

3. JMeter工具使用

3.1 JMeter安装

官网: https://jmeter.apache.org/

在这里插入图片描述
需要注意的是:JMeter5.3版本要求Java8以上版本

3.2 压力测试

将下载的压缩包解压后,进入到bin目录中,双击执行 jmeter.bat,会进入到下面这个页面。

3.2.1 切换成中文

选项 > 选择语言 > 中文

在这里插入图片描述

3.2.2 添加线程组

添加线程组,创建模拟多少个并发用户

在这里插入图片描述

3.2.3 添加HTTP请求

创建完线程组后,再添加http请求,表示要对哪个接口进行测试

在这里插入图片描述

在这里插入图片描述

3.2.4 添加监听器

为需要压测的http请求添加监听器,用户生成测试结果

在这里插入图片描述

在这里插入图片描述

3.2.5 自动压测

在这里插入图片描述

3.2.6 查看结果

可以自行查看压测的结果

3.3 JMeter Address Already in use 错误解决

这个问题是Windows本身提供的端口访问机制引发的,Windows提供给TCP/IP链接的端口为1024-5000,并且要四分钟来循环回收它们,这样会导致我们在较短时间内跑大量的请求时将端口占满了。

解决方法:

  • cmd中,用regedit命令打开注册表

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Tcpip\Parameters

(1)右击parameters,添加一个新的DWORD,名字为MaxUserPort
(2)然后双击MaxUserPort,输入数值数据为65534,基数选择十进制,
如果是分布式运行的话,控制机器和负载机器都需要这样操作

  • 修改配置完毕之后,记得重启机器才会生效
  • TCPTimedWaitDelay:30,表示把端口回收时间从4分钟,改为30

http://chatgpt.dhexx.cn/article/h67Lyv6t.shtml

相关文章

JMeter进行API服务的压力测试

文章目录 前言一、准备工作1.安装jmeter2.安装java环境 二、JMeter使用样例1.运行JMeter2.创建调用流程1.背景阐述:2.JMeter模拟调用1.添加线程组:2.请求设置3.创建请求流程4.响应时长展示5.监控服务器CPU,MEM,I/O等 前言 本文用…

使用jmeter进行http压力测试(适合小白观看)

今天2019年2月4日,除夕贴完对联等着过大年了! 今天来更新一篇博客,关于如何使用 jmeter 对web 进行压力测试,由于我的个人电脑是 deepin(Linux) 操作系统,因此这里就在Linux环境下演示,其实 Linux 演示和 w…

压力测试-Jmeter

我们在开发的过程中,如果遇到系统预估访问量会比较大的时候,或者我们再做底层基础服务的时候,往往需要对我们的服务性能做一些压力测试和稳定性测试,市面上有很多压测工具,今天我们主要讲解的是Jmeter压力测试工具&…

软件jmeter压力测试实例,jmeter压力测试案例实战

1、 测试目标地址:http://www.cnblogs.com/ 2、 1秒内有100个用户同时访问,看性能如何 3、 步骤 线程组、http请求、查看结果树、聚合报告 添加http请求如下: 继续填入参数格式: 服务器或名称IP:www.cnblogs.com 端口号:80 Connect:1000 Response:1000 添加查看结…

Jmeter负载和压力测试

负载和压力的区别: 负载测试:在一定的工作负荷下,给系统造成du的负zhi荷及系统响应的时间。 压力测试:在一定的负荷条件下,长时间连续运行系统给系统性能造成的影响。 TPS和QPS的区别: tps可以理解为是每秒对事务的处理的能力 qps是每秒对服务器的查询能力 性能测试w…

Jmeter 压力测试 - Http2.0工具支持-【教学篇】

Jmeter快速使用 特此郑重声明!该文章是原创作品,小编编写实属不易 ,帮忙点赞关注一下~转载小伙伴请注明出处!谢谢 概述 Apache JMeter Apache组织开发的压力测试工具。目前通过HTTP和FTP服务器用于对软件做压力测试,它…

Http压力测试工具HttpTest4Net

HttpTest4Net是一款基于C#实现的和HTTP压力测试工具,通过工具可以简单地对HTTP服务进行一个压力测试.虽然VS.NET也集成了压力测试项目,但由于VS自身占用的资源导致了在配置不高的PC上难以做到高并发压力测试,再加上需要装VS这个样一个庞大的工具也是件很麻烦的事情.使用HttpTes…

JMeter之压力测试

一、什么是压力测试 软件测试中:压力测试(Stress Test),也称为强度测试、负载测试。压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、…

Jmeter登录压力测试

1.配置海量用户账号数据登录测试 usernamepassword1K.csv 用户名& 密码MD5加密 2. 启动jmeter.bat,新增测试计划 3.配置CSV文件 4.配置信息头 5. 配置http请求默认值 6.配置http请求账号&密码 配置查看结果树&聚合报告

Jmeter压力测试步骤

1.选择语言 Jmeter默认英文,切换语言为中文 2.创建线程组 点击选中测试计划,右键点击添加线程组 点击线程组,这里可以设置名称,添加注释,设置线程数(每次有多少线程同时开启)、线程响应时间(…

Jmeter接口压力测试

一.创建测试用例 Jmeter主界面: 1.添加线程组 测试计划 (右键->添加->Threads(Users)->线程组),修改线程组名称为“登录”,可添加多个线程组,设置线程数&…

jmeter进行http压力测试

jmeter进行http压力测试 下载地址 下载地址:http://jmeter.apache.org/download_jmeter.cgi JMeter基于Java开发,需要系统有安装JDK环境。解压后进入bin目录,点击jmeter.bat 1、添加线程组: 测试计划 -> 添加 -> Threads…

压力测试 - HTTP压测工具stress指南

2019.03.19重新修改(之前的使用安装方式有误!) Stress安装指南 github地址:https://github.com/buaazp/stress 使用环境:macOS 或者 Linux (Windows用户请安装虚拟机或者Linux服务,如git工具…

jmeter进行http压力测试(图文小教程)

下载地址:http://jmeter.apache.org/download_jmeter.cgi JMeter基于Java开发,需要系统有安装JDK环境。解压后进入bin目录,点击jmeter.bat​​​​​​​ 1、添加线程组: 测试计划 -> 添加 -> Threads(User) -> 线程组…

如何使用Jemeter对HTTP接口压测

我们不应该仅仅局限于某一种工具,性能测试能使用的工具非常多,选择适合的就是最好的。笔者已经使用Loadrunner进行多年的项目性能测试实战经验,也算略有小成,任何性能测试(如压力测试、负载测试、疲劳强度测试等)都可以使用该工具。但我并不鼓励这样做,我们应该根据当前…

siege安装测试

Siege是一个压力测试和评测工具,设计用于WEB开发这评估应用在压力下的承受能力:可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。 1、Siege是一个多线程ht…

springboot 网页聊天室

基于springboot的网页聊天室,采用websocket通信协议,可以进行多人聊天,单人聊天,群发功能。 1:输入昵称登录 2:聊天界面 下载完成后使用maven下载资源包,运行后使用127.0.0.1/login登录可进行…

网页版多人聊天室系统

网页版多人聊天室系统 SockJSSpringSpringMVCMybatiesEasyUIMysqlTomcat7Jdk7 兼容IE8 源代码下载:https://download.csdn.net/download/u014644574/11420820

【IM-03】Web端匿名聊天

前沿 Web端主要是集成SocketIO,然后部署到服务器的一个过程,入门的一个渠道。 第一篇:即时通信解决方案 第二篇:推送解决方案 第三篇:Web端匿名聊天 第四篇:iOS集成单聊&群聊 1.Web端匿名聊天主要是功能…

java如何实现web页面聊天_Java和websocket实现网页聊天室

WebSocket protocol 是HTML5一种新的协议,它实现了浏览器与服务器全双工通信(full-duplex)。接下来将实现一个websocket的网页聊天室的demo,前端框架会使用amazeUI,后台使用Java,网页编辑器使用UMEditor。 涉及知识 网页前端(HTML…