Jmeter之压力测试总结!

 一、基本概念

1.线程组N:代表一定数量的并发用户,所谓并发就是指同一时刻访问发送请求的用户。线程组就是模拟并发用户访问。

2.Ramp-Up Period(in seconds):建立所有线程的周期,就是告诉jmeter要在多久没启动所有线程,保证在最后一个线程启动时,第一个线程还在运行中,已达到压测的目的。

默认值为0,,意味着jmeter执行测试立即就要启动完所有线程发送请求,很容易导致服务器过载,这是不合理的,我们想要的应该是逐渐增加用户访问量达到峰值。

若设置为Ts,意味着每隔T/NS建立一个线程,在T秒内建立完所有线程。

3.循环次数A:指在一个线程在持续时间内发送请求的次数,压测时,循环次数设置为永远。

4.调度器->持续时间:模拟用户并发行为持续的时间,也就是脚本持续运行的时间,一般是10分-20分钟。

5.调度器->启动延迟:意味着在多久后模拟用户并发开始,也就是脚本启动延迟的时间,点击启动后,还是默认等到延迟时间到达后才启动。

6.启动时间,结束时间:可以设置脚本启动和结束时间,相当于定时,设置好,运行结束后自动报名结果。

具体如下图:

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036【暗号:csdn999】

二、压测指标

脚本执行后,在测试计划->线程组->监听器->聚合报告查看压测结果

1.Samples:请求总数,即在这次测试时一共发了多少次请求。

2.Average:即平均响应时间,一般是单个 Request 的平均响应时间,指从客户端发送请求到服务器返回数据的时间,这个值越小越好。

3.Median:50% 用户的响应时间

4.90% Line:90% 用户的响应时间

5.Error%:本次测试中的错误率,值=出现错误的请求的数量/请求的总数

6.Throughput:即tps,吞吐量指服务器端每秒处理的请求数。

具体如下图所示:

三、Jmeter分布式压测

客户机没有足够的能力来模拟较重的负载,我们可以使用Jmeter的分布式测试功能来通过一个Jmeter控制台来远程控制多个Jmeter引擎完成测试。

3.1实现原理:

  • 有多电脑,一台作为控制机(Controller),其它机器做为代理机(Agent);
  • 脚本发送到每台机器上,Agent机器不需要启动Jmeter,通过ip找到代理机器,在通过jmeter-server.bat文件找到代理机的jmeter,让其帮忙发请求;
  • 执行后,Agent把结果回传到Controller汇总。

3.2实现步骤:

  • 有多台电脑,每台电脑上都有jmeter,而且这几台电脑都互相能ping通;
  • 在控制机的jmeter的配置文件里面添加了代理机的IP;
  • 在代理机上启动运行jmeter-server.bat文件,不需要启动jmeter;

注意:如果有参数化文件,在代理机上的相同位置也要放置一份参数化文件。

3.3控制机配置

打开jmeter\apache-jmeter-3.0\bin\jmeter.properties文件,搜索Remote_hosts,将所有代理机的IP地址加在控制机的配置文件中。

 配置好后,代理机器都启动运行jmeter-server.bat文件,然后执行脚本即可。

那么如何启动所有机器呢?修改配置文件后,重启Jmeter,在运行->远程启动下显示所有控制机和代理机的ip。选择远程所有启动,就会启动所有机器。

3.4 Linux下运行压测脚本

在windows电脑上保存已做好的压测脚本,比如:HTTP请求.jmx。

  • Linux下无图形化界面,将jmeter\apache-jmeter-3.0\bin目录(bin目录)放到环境变量PATH下,我们就可以用jmeter的命令啦;
  • 然后执行命令:jmeter -n -t  e:\path\HTTP请求.jmx -l  e:/path/res.jtl
  • -n:代表在没有图形化界面下运行,-t 指定一个测试脚本,-l 指定结果文件,这个结果文件后缀名为.jtl

四 Jmeter操作数据库

下载mysql-connector-java-5.1.7-bin.jar包,具体操作如下图:

在线程组->添加->配置原件->添加JDBC Connection Configration,设置参数如下图,记得加上:

在线程组->Sample->添加JDBC request,参数设置如下图:

 SQL语句执行结果,在察看结果树中察看结果。

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
 

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【论文阅读笔记】Deep learning for time series classification: a review

【论文阅读笔记】Deep learning for time series classification: a review 摘要 在这篇文章中,作者通过对TSC的最新DNN架构进行实证研究,探讨了深度学习算法在TSC中的当前最新性能。文章提供了对DNNs在TSC的统一分类体系下在各种时间序列领域中的最成功…

和鲸 × 暨大经管:高效 SAAS 服务持续赋能交叉学科应用型数据人才培养

随着新一轮科技革命与产业变革的加速演进,拥有学科背景的应用型数据科学人才逐渐成为我国政产学研各界的人力资源需求重点。为响应需求,国家愈发重视新生力量数据思维与意识的培养,各高校也纷纷探索如何以新兴信息技术赋能传统主流学科。 在…

[Linux] shell脚本相关知识

一、shell脚本基础 1.1 shell脚本的作用 shell将人类使用的高级语言翻译成二进制,再将二进制翻译成高级语言。换句话就是人类写了一个命令集合,然后用bash去翻译给硬件执行。 linux中常见的shell: bash:基于gun的框架下发展的shell csh:类…

竞赛选题 车道线检测(自动驾驶 机器视觉)

0 前言 无人驾驶技术是机器学习为主的一门前沿领域,在无人驾驶领域中机器学习的各种算法随处可见,今天学长给大家介绍无人驾驶技术中的车道线检测。 1 车道线检测 在无人驾驶领域每一个任务都是相当复杂,看上去无从下手。那么面对这样极其…

计算机网络学习笔记(六):应用层(待更新)

目录​​​​​​​ 6.2 文件传送协议FTP(File Transfer Protocol) 6.2.1 FTP概述 6.2.2 FTP的基本工作原理 6.5 电子邮件:SMTP、POP3、IMAP 6.5.1 电子邮件概述 6.5.2 发邮件:简单邮件传送协议SMTP 6.5.3 电子邮件的信息格式、地址格式 6.5.4 收…

Linux编辑器-gcc/g++使用

> 作者简介:დ旧言~,目前大二,现在学习Java,c,c,Python等 > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:熟练使用gcc/g编译器 > 毒鸡汤:真正…

Leaflet结合Echarts实现迁徙图

效果图如下&#xff1a; <!DOCTYPE html> <html><head><title>Leaflet结合Echarts4实现迁徙图</title><meta charset"utf-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0">…

2023年中国离心制冷机产量及产业链分析[图]

离心制冷机是一种常用的空调制冷设备&#xff0c;目前主要应用于酒店、写字楼、商场、学校等众多大型场所的集中制冷场景。离心制冷机由离心式制冷压缩机、蒸发器、冷凝器、主电动机、抽气回收装置、润滑系统、控制柜和起动柜等零部件组成。这些零部件的组成有的采用分散型组装…

Rust语言精讲:数据类型全解析

大家好&#xff01;我是lincyang。 今天&#xff0c;我们将深入探讨Rust语言中的数据类型&#xff0c;这是理解和掌握Rust的基础。 Rust语言数据类型概览 Rust是静态类型语言&#xff0c;所有变量类型在编译时确定。Rust的数据类型分为两类&#xff1a;标量类型和复合类型。…

内容输入.type

内容输入.type 查看完整说明 语法 .type(text) .type(text, options)正确用法 cy.get(input).type(Hello, World) // Type Hello, World into the input错误用法 cy.type(Welcome) // Errors, cannot be chained off cy cy.clock().type(www.cypress.io) // Errors, clock…

Windows安装MongoDB

1、下载MongoDB的zip&#xff0c;解压 2、创建目录 mkdir D:\JavaSoftware\Database\MongoDB\mongodb-win32-x86_64-windows-5.0.8\data\db mkdir D:\JavaSoftware\Database\MongoDB\mongodb-win32-x86_64-windows-5.0.8\data\log 3、创建一个配置文件mongod.cfg&#xff0c…

YOLOv8改进 | DAttention (DAT)注意力机制实现极限涨点

论文地址&#xff1a; DAT论文地址 官方地址&#xff1a;官方代码的地址 代码地址&#xff1a;文末有修改了官方代码BUG的代码块复制粘贴即可 一、本文介绍 本文给大家带来的是YOLOv8改进DAT(Vision Transformer with Deformable Attention)的教程&#xff0c;其发布于2022…

数字IC基础:有符号数和无符号数加、减法的Verilog设计

相关阅读 数字IC基础https://blog.csdn.net/weixin_45791458/category_12365795.html?spm1001.2014.3001.5482 本文是对数字IC基础&#xff1a;有符号数和无符号数的加减运算一文中的谈到的有符号数加减法的算法进行Verilog实现&#xff0c;有关算法细节请阅读原文&#xff0…

git merge 和 git rebase

一、是什么 在使用 git 进行版本管理的项目中&#xff0c;当完成一个特性的开发并将其合并到 master 分支时&#xff0c;会有两种方式&#xff1a; git merge git rebasegit rebase 与 git merge都有相同的作用&#xff0c;都是将一个分支的提交合并到另一分支上&#xff0c;…

大数据平台实践之CDH6.2.1+spark3.3.0+kyuubi-1.6.0

前言&#xff1a;关于kyuubi的原理和功能这里不做详细的介绍&#xff0c;感兴趣的同学可以直通官网&#xff1a;https://kyuubi.readthedocs.io/en/v1.7.1-rc0/index.html 下载软件版本 wget http://distfiles.macports.org/scala2.12/scala-2.12.16.tgz wget https://archi…

Java 开源重试类 guava-retrying 使用案例

使用背景 需要重复尝试执行某些动作&#xff0c;guava-retrying 提供了成型的重试框架 依赖 <dependency><groupId>com.github.rholder</groupId><artifactId>guava-retrying</artifactId><version>${retrying.version}</version>…

NLog配置文件详解

一、属性详解 1. 属性一览 <target xsi:type"File"name"String"layout"Layout"header"Layout"footer"Layout"encoding"Encoding"lineEnding"Enum"archiveAboveSize"Long"maxArchiveFile…

浅谈低压绝缘监测及定位系统在海上石油平台的研究与应用

安科瑞 华楠 摘要&#xff1a;海上石油平台低压系统与陆地电力系统有很大区别&#xff0c;其属于中性点绝缘系统&#xff0c;在出现单相接地故障时&#xff0c;系统允许带故障正常运行2 h&#xff0c;保证海上重要电气设备不会立即关停。现以渤海某海上平台为例&#xff0c;其…

多篇论文介绍-可变形卷积

01 具有双层路由注意力的 YOLOv8 道路场景目标检测方法 01 摘要: 随着机动车的数量不断增加&#xff0c;道路交通环境变得更复杂&#xff0c;尤其是光照变化以及复杂背景都会干扰目标检测算法的准确性和精度&#xff0c;同时道路场景下多变形态的目标也会给检测任务造成干扰&am…

redis的一些操作

文章目录 清空当前缓存和所有缓存配置内存大小&#xff0c;防止内存饱满设置内存淘汰策略键过期机制 清空当前缓存和所有缓存 Windows环境下使用命令行进行redis缓存清理 redis安装目录下输入cmdredis-cli -p 端口号flushdb 清除当前数据库缓存flushall 清除整个redis所有缓存…