JMeter进行API服务的压力测试

article/2025/9/24 6:03:23

文章目录

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


前言

本文用于记录并分享使用jmeter进行简单的压力测试的基本流程,主要囊括范围:假定API已构建,从我们用jmeter模拟用户的调用行为,到并发持续测试,最后记录并汇总响应时间,服务器资源使用情况等。


一、准备工作

1.安装jmeter

JMeter是Apache旗下的基于Java环境的用于对WEB服务进行压力测试的交互式工具,无需写代码,只需用JMeter内置的组件进行配置就能模拟用户的WEB调用请求并记录响应结果。

官网安装路径:Apache JMeter 5.5 (Requires Java 8+)

2.安装java环境

JMeter5.5建议搭配jave8使用,本文中压测的全流程不涉及开发工作,因此仅安装JRE即可,具体安装流程此处不做阐述,在命令行中输入 java -version能显示版本信息即可以继续后续步骤。

二、JMeter使用样例

1.运行JMeter

解压下载的JMeter包,打开bin目录下的jmeter.bat,看到一个类似下图的界面就可以开始测试流程了:
在这里插入图片描述

2.创建调用流程

1.背景阐述:

  1. 用户通过GET请求调用服务器计算资源,同时要传递给服务器算法的输入数据;服务收到请求后会异步启动算力并返回一个UUID作为该计算任务的唯一标识符;用户收到计算任务的UUID,就能确认计算资源申请成功
  2. 一段时间之后,用户将该UUID作为参数再向服务器发送另一个请求,用以获取算法的运行结果;服务器收到用户获取结果的请求后,根据算法的运行情况,返回成功,失败,或运行中;用户收到结果成功或失败则为一次算法调用流程完成,收到运行中则循环发送获取运行结果的请求直到运行结束

2.JMeter模拟调用

1.添加线程组:

在这里插入图片描述
点击Thread Group,里面有些参数需要设置:

  • 遇到错误要执行的操作
  • Number of Threads,并发数
  • Pamp-up period,并发发生在几秒时间内
  • Loop Count:整个流程重复次数
2.请求设置

在这里插入图片描述
HTTP Request Defaults用于设置默认服务器IP,端口,参数等
HTTP Header Manager用于管理请求头
HTTP Authorization Manager给请求添加身份验证

3.创建请求流程

按照之前提及的调用全流程,添加一个HTTP Requst,设置URL及参数(本案中采用Files Upload,作为算法输入)。之后再添加Post Processor - JSON Extractor用于提取任务的UUID:
在这里插入图片描述
在这里插入图片描述
在构建一个Logic Controller - While Controller,实现运行没结束循环请求直到返回计算成功或失败。
在这里插入图片描述

4.响应时长展示

常用Aggregate,Vew Results Tree,Vew Results in Table
在这里插入图片描述

5.监控服务器CPU,MEM,I/O等

需要在测试节点机上安装插件,同时在服务器上下载并启动相应的服务才能实现。
下载 jmeter插件管理包plugins-manager.jar,并移动到 jmeter lib/ext目录下,重启JMeter,可以看到Options下多了一个叫Plugs Manager的选项
在这里插入图片描述
在里面安装监控服务器资源需要的插件,在Available Plugins里搜“Per”,勾选“PerfMon”,并点击Apply Changes and Restart JMeter。

在服务器端安装Agent 参考,需要有Java环境


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

相关文章

使用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…

vue + element-ui 聊天_vue网页版聊天Vue+ElementUI仿微信界面聊天实例

vue+vuex+vue-cli+vue-router+element-ui+swiper等技术开发仿微信pc端界面聊天应用,实现了发送消息+表情(动图gif)、图片/视频预览、右键长按菜单、红包/朋友圈、截图发送等功能。 技术栈 vue版本:Vue2.5.6状态管理:Vuex页面路由:Vue-routericonfont图标:阿里巴巴字体图标…