jmeter如何进行http压力测试

目录

前言:

1、添加线程组:

2、添加采样器:

3、添加监视器

压力测试知识说明


前言:

JMeter是一个基于Java的开源压力测试工具,可用于评估Web应用程序的性能,包括HTTP、HTTPS、FTP、SOAP、Restful、JDBC等。

JMeter基于Java开发,需要系统有安装JDK环境。解压后进入bin目录,点击jmeter.bat

1、添加线程组:

测试计划 -> 添加 -> Threads(User) -> 线程组,添加后进入如下界面:

线程数:表示将模拟多少个用户进行测试。
Ramp-Up Period(in seconds):线程启动间隔,所有线程将在这个时间内依次启动。
循环次数:所有线程执行一次为一次循环。
Rame-Up Period(in seconds):表示JMeter每隔多少秒发动并发。理解成准备时长:设置虚拟用户数需要多长时间全部启动。如果线程数是20,准备时长为10,那么需要10秒钟启动20个数量,也就是每秒钟启动2个线程。
如果线程数为200 ,循环次数为10 ,那么每个线程发送10次请求。总请求数为200*10=2000 。如果勾选了“永远”,那么所有线程会一直发送请求,直到选择停止运行脚本。

2、添加采样器:

采样器可理解为针对前面创建的线程需要做什么事情,这里以添加HTTP请求为例。

1)线程组 -> 添加 -> Sampler -> HTTP请求,添加后进入如下界面:

上图为压测http的get类型接口,url中${newId}和${page}是动态参数,需要从文件中获取
服务器名或ip:填写服务器ip地址(例如:192.168.1.23)
路径:填写url接口剩余部分;
协议:向目标服务器发送http请求时的协议,可以是http或者是https,默认值为http
方法:发送http请求的方法,可用方法包括get、post、head、put、options、trace、delete等。
Content encoding:内容编码方式
路径:目标url路径(不包括服务器地址和端口)
自动重定向:如果选中该选项,当发送http请求后得到的响应是302/301时,jmeter自动重定向到新的页面。
Use keep Alive:当该选项被选中时,jmeter和目标服务器之间使用keep-Alive方式进行http通信,默认选中
Use multipart/from-data for http post:当发送http post请求时,使用Use multipart/from-data方法发送,默认不选中。
同请求一起发送参数:在请求中发送URL参数,对于带参数的URL、jmeter提供了一个简单的对参数化的方法。用户可以将url中所有参数设置在本表中,表中的每一行是一个参数值对(对应URL中的名称 名称1=值1 )
同请求一起发送文件:在请求中发送文件,通常,http文件上传行为可以通过这种方式模拟。

2)添加CSV Data Set Config 来参数化

在d盘简历如下data.txt文件,在variable Names中输入newId,page后,在http请求中就可以通过${newId}获取到

1,1  
11,1  
111,1

3)如果是post接口,则把post数据写到parameters下面

3、添加监视器

监视器可以理解为针对结果的不同查看方式。JMeter里提供了多种结果表现形式。可通过 HTTP请求 -> 添加 -> 监视器 -> 察看结果树、聚合报告等等。

聚合报告各指标:
Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值
#Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100
Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,单位为毫秒。当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间
Median:中位数,也就是 50% 用户的响应时间
90% Line:90% 用户的响应时间
Min:最小响应时间
Max:最大响应时间
Error%:本次测试中出现错误的请求的数量/请求的总数
Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数
KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec

压力测试知识说明

压力测试

压力测试分两种场景:一种是单场景,压一个接口的;第二种是混合场景,多个有关联的接口。压测时间,一般场景都运行10-15分钟。如果是疲劳测试,可以压一天或一周,根据实际情况来定。

压测任务需求的确认

压测前要明确压测功能和压测指标,一般需要确定的几个问题:

  1. 固定接口参数进行压测还是进行接口参数随机化压测?

  2. 要求支持多少并发数?

  3. TPS(每秒钟处理事务数)目标多少?响应时间要达到多少?

  4. 压服务器名称还是压服务器IP,一般都是压测指定的服务器

压测设置

  1. 线程数:并发数量,能跑多少量。具体说是一次存在多少用户同时访问

  2. Rame-Up Period(in seconds):表示JMeter每隔多少秒发动并发。理解成准备时长:设置虚拟用户数需要多长时间全部启动。如果线程数是20,准备时长为10,那么需要10秒钟启动20个数量,也就是每秒钟启动2个线程。

  3. 循环次数:这个设置不会改变并发数,可以延长并发时间。总请求数=线程数*循环次数

  4. 调度器:设置压测的启动时间、结束时间、持续时间和启动延迟时间。

压测结果查看

运行完后,聚合报告会显示压测的结果。主要观察Samples、Average、error、Throughput。

  1. Samples:表示一共发出的请求数

  2. Average:平均响应时间,默认情况下是单个Request的平均响应时间(ms)

  3. Error%:测试出现的错误请求数量百分比。若出现错误就要看服务端的日志,配合开发查找定位原因

  4. Throughput:简称tps,吞吐量,默认情况下表示每秒处理的请求数,也就是指服务器处理能力,tps越高说明服务器处理能力越好。

压测结果的分析

  1. 有错误率同开发确认,确定是否允许错误的发生或者错误率允许在多大的范围内;

  2. Throughput吞吐量每秒请求的数大于并发数,则可以慢慢的往上面增加;若在压测的机器性能很好的情况下,出现吞吐量小于并发数,说明并发数不能再增加了,可以慢慢的往下减,找到最佳的并发数;

  3. 压测结束,·登陆相应的web服务器查看CPU等性能指标,进行数据的分析;

  4. 最大的tps:不断的增加并发数,加到tps达到一定值开始出现下降,那么那个值就是最大的tps。

  5. 最大的并发数:最大的并发数和最大的tps是不同的概率,一般不断增加并发数,达到一个值后,服务器出现请求超时,则可认为该值为最大的并发数。

  6. 压测过程出现性能瓶颈,若压力机任务管理器查看到的cpu、网络和cpu都正常,未达到90%以上,则可以说明服务器有问题,压力机没有问题。

  7. 影响性能考虑点包括:数据库、应用程序、中间件(tomact、Nginx)、网络和操作系统等方面。

jmeter在linux下进行压力测试

  • jmeter 在linux安装

简单说下,就是要先安装jdk,同时再配置环境变量,最后再上传jmeter压缩的安装包,在linux下解压完安装包就可以使用了。推荐博客:http://blog.csdn.net/zhemeteor/article/details/51315874

  • jmeter在linux运行

进入jmeter下的bin目录下运行脚本,未配置jmeter环境变量的条件下,运行的命令:

./jmeter -n -t a.jmx -l res.jtl

其中a.jmx是准备好的jmeter脚本,res.jtl是测试结果文件,测试结果文件可以导入到jmeter察看结果树下查看。

 作为一位过来人也是希望大家少走一些弯路,希望能对你带来帮助。(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等),相信能使你更好的进步!

留【自动化测试】即可【自动化测试交流】:574737577(备注ccc)icon-default.png?t=N4P3http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=Yg3Y37fdTkAHAEyqD-gLuGbCI8UEiRA1&authKey=wJQ7hIhE9p%2FQDdwXXPjwolJnDMyBoIU%2FtVbTLbNFIvzIWoA7LZfVmSNccWx15jwG&noverify=0&group_code=574737577

 

 

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

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

相关文章

Oracle-高版本SQL优化分析(bind mismatch)

背景: 接到用户报障说一套Oracle19c数据库近期出现insert语句执行变慢的情况,执行一次数据插入需要1秒的时间,而且问题发生的数据库是跑在一体机上面,数据插入正常不应该这么慢,需要分析插入慢的原因 问题: 数据库近期出现insert…

StarRocks 文章收集

StarRocks在58的实践 StarRocks在58的实践 - 墨天轮StarRocks在58的实践 --2022-06-08https://www.modb.pro/db/639611 StarRocks之系统架构 StarRocks之系统架构 - 墨天轮https://www.modb.pro/db/610300 StarRocks小规模集群部署最佳实践(1/2) 0016.S StarRocks小规模集…

2自由度并联仿生腿的制作

1. 运动功能说明 本文实例将实现2自由度并联仿生腿模组运动起来,模拟实现狗腿行走的动作。 2. 结构说明 2自由度并联仿生腿模组是由两个舵机驱动的,它的所有动作都将在两个舵机的配合运动下实现。 3. 运动原理说明 2自由度并联仿生腿模组运动的点位如下…

数据结构-各种树(二叉树、二叉查找树、平衡二叉树、红黑树、B树、B+树)

文章目录 二叉树二叉查找树平衡二叉树红黑树B树B树 二叉树 概念:二叉树(binary tree)是指树中节点的度不大于2的有序树,它是一种最简单且最重要的树。二叉树的递归定义为:二叉树是一棵空树,或者是一棵由一…

2023 年6月开发者调查统计结果——最流行的技术(1)

2023 年6月开发者调查统计结果——最流行的技术(1) 本文目录: 一、编程、脚本和标记语言 二、数据库 三、云平台 四、网络框架和技术 五、其他框架和库 六、其他工具 七、集成开发环境 八、异步工具 九、同步工具 ​十、操作系统 …

端午出行电脑没网怎么办?无线网卡解决网络问题

无线网卡是一种可以让电脑或其他设备通过无线信号连接网络的硬件设备,无线网卡有多种类型和接口,例如USB无线网卡,PCI-E无线网卡,PCMCIA无线网卡等。端午出行在即,不妨看看驱动人生准备的无线网卡攻略,让大…

基于Python的招聘信息可视化系统,附源码

文章目录 1 简介2 技术栈3 总体设计3.1 系统结构3.2 数据库设计3.2.1 数据库实体3.2.2 数据库表设计 4 运行设计4.1 招聘热门行业分析4.2热门岗位分析界面4.3招聘岗位学历分析界面4.4岗位分布分析界面 5 源码下载 1 简介 基于Python的招聘信息可视化系统,通过对招聘数据进行分…

MFC扩展库BCGControlBar Pro v33.5亮点 - Ribbon Bar等全新升级

BCGControlBar库拥有500多个经过全面设计、测试和充分记录的MFC扩展类。 我们的组件可以轻松地集成到您的应用程序中,并为您节省数百个开发和调试时间。 BCGControlBar专业版 v33.5已正式发布了,此版本包含了Ribbon(功能区)自定义…

Linux国产操作系统,UCA-系统工程师学习必备技能,使用dpkg管理软件包、apt命令、内网获取依赖包及源码安装

目录 ​编辑 1.使用dpkg管理软件包 2.apt命令 3.内网获取依赖包 4.源码安装 1.使用dpkg管理软件包 第一种方法当然可以上网搜索软件安装包,下载然后解压成软件。 第二种也就是我接下来要介绍的,dpkg 命令,dpkg 全称叫做debian package…

步长(stride) | 填充(padding) | 扩长(dilation)

这几个名词中文真的好难翻译,不是大佬就不要造名词了,后面还是老老实实用英文吧!(标题是机翻的 。) stride stride 很好理解,stride 就是卷积核移动的步长。 如下图: stride1 stride2 paddi…

技术新动向 | 谷歌云大举扩展安全 AI 生态系统

【本文由 Cloud Ace 整理发布, Cloud Ace 是谷歌云全球战略合作伙伴,拥有 300 多名工程师,也是谷歌最高级别合作伙伴,多次获得 Google Cloud 合作伙伴奖。作为谷歌托管服务商,我们提供谷歌云、谷歌地图、谷歌办公套件…

【设计模式】SpringBoot优雅使用策略模式

文章目录 1.概述1.1.简述策略模式 2.实现方法2.1.实现思路2.2.实现代码2.3.策略拓展2.4.执行调用 3.总结 1.概述 本篇文章主要会描述SpringBoot与策略模式的结合使用,因为不涉及到理论部分,所以在阅读本篇之前,需要对策略模式的理论已经有了…

HarmonyOS学习路之开发篇—Java UI框架(JS FA调用Java PA)

JS FA调用Java PA机制 使用兼容JS的类Web开发范式的方舟开发框架提供了JS FA(Feature Ability)调用Java PA(Particle Ability)的机制,该机制提供了一种通道来传递方法调用、处理数据返回以及订阅事件上。 当前提供Ab…

鼠标键盘实验

文章目录 USB参考资料USB设备STM32F407USB 硬件连接软件移植官方HIDSTM32F4USB通信库 USB参考资料 ①《STM32F4xx中文参考手册》-第30章 全速USB on-the-go(OTG_FS) ②光盘:STM32参考资料:STM32 USB 学习资料-CD00289278.pdf(UM1021) ③光盘:STM32参考资…

Python3 函数与数据结构 | 菜鸟教程(十一)

目录 一、Python3 函数 (一)定义一个函数 1、你可以定义一个由自己想要功能的函数,以下是简单的规则: 2、语法 3、实例 ①让我们使用函数来输出"Hello World!": ②更复杂点的应用&#xff…

【gcc, cmake, eigen, opencv,ubuntu】一.gcc介绍

文章目录 gcc介绍1.查看当前gcc 版本2.安装其他版本的gcc3.设置多个版本的优先级4.修改默认的版本5.查看cpu信息 gcc介绍 gcc介绍和makefile介绍 1.查看当前gcc 版本 gcc --version2.安装其他版本的gcc sudo apt install gcc-10 g-10这样我们电脑里包含gcc-9 和 gcc-10两个…

干货分享|HOOPS Web平台和Polygonica进行增材制造的云CAM服务示例

这篇文章提供了一个示例项目,展示了使用 Machineworks Polygonica 和 HOOPS Web 平台进行增材制造的云 CAM 服务。该项目作为一个示例,说明了如何在服务器端使用 Polygonica 与 HOOPS Communicator 和 Exchange 来开发云服务。 它涵盖了增材制造 CAM 的…

三、DSMP/OLS等夜间灯光数据贫困地区识别——MPI和灯光指数拟合、误差分析

一、前言 当我们准备好MPI和灯光指数(包括总灯光指数和平均灯光指数)之后,接下来主要的过程就是通过将MPI和灯光指数拟合,构建多维度指数估算模型,这里我解释一下前文中的MPI计算过程,其实利用熵值法确定指标权重,并通过各 指 标 归 一 化 数 值 乘 以 对 应 的 权 重 …

非监督学习

聚类Clustering 查看大量数据点,自动找到彼此相关或相似的数据点 K-means算法 原理 1.随机选择点,找聚类的中心位置。将点分配给簇质心 2.移动簇质心 不断重复这两个步骤 优化目标 成本函数失真函数distortion 在每次迭代中,失真成本…

汽车电子Autosar之以太网SOME/IP(续)

前言 首先,请问大家几个小小问题,你清楚: 你知道什么是SOME/IP SD吗?SOME/IP-SD有何作用呢?SOME/IP-SD 包含哪些内容呢?SOME/IP-TP 为什么会存在? 今天,我们就来一起探索并回答这…