Jmeter压测测试

Jmeter安装启动

1、Jmeter下载安装

模拟真正的大量并发请求

下载Jmeter:Apache JMeter - Download Apache JMeter

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


2、配置JMETER_HOME 

  • 在系统中搜索设置

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

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

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

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

JMETER_HOME,

   变量名输入:JMETER_HOME 

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

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的命令窗口和Jmeter的图形操作界面,不可以关闭命令窗口

切换一下界面主题和语言 


JMeter入门

1、测试计划test plan

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

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


2、线程组

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

1.添加线程组

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

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

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


3、手动取样器

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

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


4、查看结果树

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

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

结果树中大概就长这样

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

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

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、录制取样器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/90445.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode-中等题】189. 轮转数组

题目 题解一&#xff1a;开辟数组 取模运算寻找位置(ik)mod n 新位置 思路&#xff1a;通过&#xff0c;开辟数组 取模运算寻找新位置------位置(ik)mod n 新位置 int[] newNums new int[nums.length];for(int i 0;i<nums.length;i){newNums[(ik)%nums.length] nums[i…

MBR400100CT-ASEMI肖特基模块400A 100V

编辑&#xff1a;ll MBR400100CT-ASEMI肖特基模块400A 100V 型号&#xff1a;MBR400100CT 品牌&#xff1a;ASEMI 封装&#xff1a;M2 恢复时间&#xff1a;&#xff1e;50ns 正向电流&#xff1a;400A 反向耐压&#xff1a;100V 芯片个数&#xff1a;2 引脚数量&…

算法通关村第十关——快速排序算法

1 快速排序基本过程 快速排序的是将分治法运用到排序问题的典型例子。力扣912题&#xff0c;给你一个整数数组 nums&#xff0c;请你将该数组升序排列。 基本思想&#xff1a;是通过随机标记一个pivot元素将含有n个元素的序列划分为左右两个子序列left和right&#xff0c;其中…

el-table动态合并单元格

el-table使用这个方法合并单元格&#xff0c;:span-method“hbcell” <el-table size"small" :data"table.data" border empty-text"暂无数据" :cell-style"cellStyle" :header-cell-style"tableHeaderColor":span-meth…

Linux 终端命令之文件目录操作,对比Dos相关命令

目录 前言 基础命令&#xff08;文件目录相关的&#xff09; cd命令 【英文帮助】 【对应Dos命令】 pwd命令 【英文帮助】 【对应Dos命令】 ls命令 【英文帮助】 【对应Dos命令】 tree命令 【英文帮助】 【对应Dos命令】 mkdir命令 【英文帮助】 【对应Dos命令…

vscode的远程代码调试

目录 ssh连接 xdebug调试 ssh连接 在vscode中下载该插件 这里用虚拟机测试&#xff0c;这里用虚拟机测试&#xff0c;注意ssh是可以连接的 然后安装好remote后&#xff0c;点击左下角的>< 在弹出的这个上选择connect to host连接一台主机 配置完用户名和IP后再点一次发…

xsschallenge通关(11-15)

level 11 老规矩&#xff0c;先查看源码&#xff0c;做代码审计&#xff1a; <?php ini_set("display_errors", 0); $str $_GET["keyword"]; $str00 $_GET["t_sort"]; $str11$_SERVER[HTTP_REFERER]; $str22str_replace(">&quo…

微软宣布在 Excel 中使用 Python:结合了 Python 的强大功能和 Excel 的灵活性。

文章目录 Excel 中的 Python 有何独特之处&#xff1f;1. Excel 中的 Python 是为分析师构建的。高级可视化机器学习、预测分析和预测数据清理 2. Excel 中的 Python 通过 Anaconda 展示了最好的 Python 分析功能。3. Excel 中的 Python 在 Microsoft 云上安全运行&#xff0c;…

史上最全 App功能测试点分析

1.2测试周期 测试周期可按项目的开发周期来确定测试时间&#xff0c;一般测试时间为两三周&#xff08;即 15个工作日&#xff09;&#xff0c; 根据项目情况以及版本质量可适当缩短或延长测试时间。正式测试前先向主管确认项目排期。 1.3测试资源 测试任务开始前&#xff…

手把手教你搭建一个盲盒小程序,轻松掌握开发技巧

在当今社交媒体时代&#xff0c;微信公众号已成为企业、个人传播和推广的重要工具。而微信公众号盲盒小程序则是一个更为创新和互动的方式&#xff0c;能够吸引更多用户的关注和参与。下面&#xff0c;我们将为大家介绍一下微信公众号盲盒小程序的制作完全攻略。 1. 注册登录【…

MySQL数据库基本操作

目录 一、数据库中常用的数据类型 二、常用命令与操作 1.DDL数据库定义语言 1、登录用户的数据库 2、查看当前服务器中的数据库 3、切换/进入数据库 并 查看数据库中包含的表 4、查看数据库中表的结构 5、创建数据库 7、展示创建数据表时的结构 8、创建表&#xff0c…

根据案例写PLC程序-红绿灯控制

案例&#xff1a; 1、南北方向红灯点亮30s后熄灭&#xff1b; 2、在点亮南北方向红灯的同时点亮东西方向绿灯&#xff0c;并在点亮25s后&#xff0c;以0.5s熄灭0.5s点亮的时间闪烁3次后熄灭&#xff1b; 3、在东西方向绿灯熄灭后&#xff0c;东西方向黄灯点亮2s后熄灭&#xff…

Redis知识点总结

概述 Redis诞生于2009年&#xff0c;全称是Remote Dictionarty Server(远程词典服务器) 只支持单线程 非关联&#xff1a;主要指的是表中没有主外键等概念 Redis是一款内存数据库&#xff0c;主要存储键值对类型的数据 基本用法 注意&#xff1a;该操作是在cli中进行的 首…

pytestx重新定义接口框架设计

概览 脚手架&#xff1a; 目录&#xff1a; 用例代码&#xff1a; """ 测试登录到下单流程&#xff0c;需要先启动后端服务 """test_data {"查询SKU": {"skuName": "电子书"},"添加购物车": {"sk…

Matlab之智能优化算法函数调用

1.句柄函数 句柄函数即我们要求的目标函数&#xff0c;以下三种算法的调用仅是求解最小值&#xff0c;若要求目标函数的最大值&#xff0c;可在返回结果中加负号。 function value Get_Fitness(x,y)value x^2 y^2;% 若要求x^2 y^2最大值可设value -(x^2 y^2); end句柄函数…

跨境新手看过来!各国营销禁忌盘点!别再盲目踩雷了!

本土化是跨境卖家出海制胜的关键因素之一&#xff0c;不管是卖家的产品&#xff0c;还是营销推广策略&#xff0c;都要符合目标市场的习惯&#xff0c;才会有较好的效果。而与此相反的&#xff0c;如果卖家在营销过程中&#xff0c;踩到了营销雷区&#xff0c;那结果也可想而知…

机器视觉应用开发四大软件,那一个对我们从0到1建设你的机器视觉知识体系更好

我们首先要理解什么是知识体系&#xff1a; 我们身处一个知识爆炸时代&#xff0c;我们面对各种课程&#xff0c;各种知识&#xff0c;“自身学习”&#xff0c;“高效记忆”&#xff0c;“批判性思维”&#xff0c;“解决问题的能力”。各种平台课程太多&#xff0c;各种买买…

详解numpy.random.choice函数

文章目录 函数原型参数解析该函数的注意事项例子示例代码示例结果 参考 numpy的random模块中的choice函数用于从给定一维&#xff08;1-D&#xff09;数组中生成随机样本。本博客详细节将该函数的API&#xff0c;并给出示例代码和结果。 函数原型 numpy.random.choice(a, siz…

0825hw

//冒泡排序 void Bubble_sort(Sp p) {for(int i1;i<p->len;i){for(int j0;j<p->len-i;j){if(p->arr[j]>p->arr[j1]){int tp->arr[j];p->arr[j]p->arr[j1];p->arr[j1]t;}}} } //简单选择排序 void Simple_sort(Sp p) {for(int i1;i<p->l…

【android12-linux-5.1】【ST芯片】HAL移植后开机卡死

按照ST的官方readme移植HAL后开机一直卡在android界面&#xff0c;看logcat提示写文件时errorcode&#xff1a;-13。查下资料大致明白13错误码是权限不足&#xff0c;浏览代码在写文件的接口加日志后&#xff0c;发现是需要写iio:device*/buffer/enable这类文件的时候报错的。千…