性能测试—Jmeter工具
文章目录
- 性能测试
- 1. 术语介绍
- 2. 方法
- 3. 应用场景
- 4. 工具(Jmeter)
- 4.1 介绍
- 4.2 元件和组件
- 4.2.2 元件
- 4.2.1 组件
- 4.3 作用域
- 4.4 参数化
- 4.5 执行脚本
性能测试
1. 术语介绍
-
响应时间(Response time):对请求作出响应所需要的时间。
在互联网上对于用户响应时间,有一个普遍的标准。2/5/10秒原则。
-
并发用户数(concurrent users):在同一时间段内访问系统的用户数量。
-
吞吐量(Throughput):单位时间内系统处理的客户请求的数量。
对web系统, 吞吐量主要以请求数/秒、页面数/秒或是字节数/秒来体现。
-
性能计数器(Counter):描述服务器或操作系统性能的指标
如: windws系统的使用内存数(Memory In Usage)、**进程时间(Total Process Time)**等。
-
思考时间(Think time):也称”休眠时间” 或”等待时间”。
从业务角度讲, 是指用户进行操作时,每个请求之间的间隔时间。
2. 方法
-
负载测试(Loading Testing): 通过不断在被测系统上增加压力,直到性能指标超过预定指标或者系统资源使用已达到饱和状态。
这种测试方法的主要目的是找到系统处理能力的极限, 使用这种测试方法的时候应该考虑到业务的应用场景是否符合业务的实际特点,这样才能使得测试结果具有实际意义。
-
压力测试(Stress Testing): 是测试系统在一定饱和状态下,(例如: CPU、内存)等在饱和使用情况下,能够处理的会话能力以及系统是否会出现错误
这种测试方法主要检查系统处于压力情况下的应用表现, 一般通过模拟负载等方法使系统资源使用达到较高的水平(如:CPU使用率达到75%以上,内存使用率达到70%以上的情况下, 测试系统的响应时间,系统有没有出现错误, 使用这种方法一般用于测试系统的稳定性)
3. 应用场景
-
能力验证:
指验证系统在某种条件下是否达到了某种性能,如验收测试。
-
能力规划:
指验证系统是否满足在未来一段时间的用户增长需求。
-
性能调优:
指发现系统性能瓶颈后,需要对针对系统某些方面作出调整以解决瓶颈问题。
-
缺陷发现:
指以发现缺陷为主要目的,而将性能测试作为一种手段。
4. 工具(Jmeter)
4.1 介绍
Apache JMeter是Apache组织开发的基于Java的性能测试工具。用于对软件做性能测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。JMeter可以用于测试FTP、HTTP、RPC、JUNIT、JMS、LDAP、WebService(Soap) Request以及Mail和JDBC(数据库性能测试)。也会被用来做回归和功能测试。
4.2 元件和组件
4.2.2 元件
- 多个类似功能组件的容器(类似于类)

4.2.1 组件
- 实现独立的某个功能(类似方法)
4.3 作用域
- 作用域原则
- 取样器:核心,不和其他元件相互作用,没有作用域。
- 逻辑控制器:只对其子节点中的取样器和逻辑控制器起作用。
- 其他元件:
- 如果父节点是取样器,该元件只对父节点起作用。
- 如果父节点不是取样器,其作用域是父节点下的所有子节点及其后代节点。
4.4 参数化
-
用户定义的变量(配置元件的组件)
-
csv数据文件设置
-
用户参数(前置处理器的组件)
-
函数
__counter:计数器函数(True:每个用户独立的计数器;False:全局计数器)
__Random:随机数函数(参数一:范围最小值;参数二:范围最大值)
__time:获取当前时间函数(无参:获取时间戳;参数一:格式化时间 yyyy-MM-dd hh:mm:ss)
4.5 执行脚本
jmeter –n –t zentao.jmx –l result.txt -e -o ./report –JthreadCount=3600 –Jtime=120# -n 无图形化运行
# -t 运行脚本文件
# -l 将运行信息写入日志文件
# -e 生成测试报告
# -o 指定报告输出路径
未完待续···············
相关文章:
性能测试—Jmeter工具
文章目录 性能测试1. 术语介绍2. 方法3. 应用场景4. 工具(Jmeter)4.1 介绍4.2 元件和组件4.2.2 元件4.2.1 组件 4.3 作用域4.4 参数化4.5 执行脚本 性能测试 1. 术语介绍 响应时间(Response time):对请求作出响应所需要的时间。 在互联网上对…...
【分布式系统】聊聊高性能设计
每个程序员都应该知道的数字 高性能 对于以上的数字,其实每个程序员都应该了解,因为只有了解这些基本的数字,才能知道对于CPU、内存、磁盘、网络之间数据读写的时间。1000ms 1S。毫秒->微秒->纳秒-秒->分钟 为什么高性能如此重要的…...
自动驾驶数据集汇总
1.Nuscenes 数据集链接:nuScenes nuscenes数据集下有多个任务,涉及Detection(2D/3D)、Tracking、prediction、激光雷达分割、全景任务、规划控制等多个任务; nuScenes数据集是一个具有三维目标注释的大型自动驾驶数…...
面向对象的基本原则
背景 面向对象是抽象技术的一种实现,将对象作为真实世界中实体的抽象,代表了特定的一块密集而内聚的信息。在面向对象设计及实现中,重点考虑的就是如何做到关注点分离。因为对象内的联系通常比对象间的联系更强。关注点分离就是将对象中高频…...
C语言开发基础知识(一)
文章目录 数据类型宏变量函数inline 内联函数static 关键字的作用const 关键字的作用extern 关键字的作用volatile 关键字的作用include 关键字的作用数组、字符串指针堆内存管理结构体文件操作数据类型 C语言中数据类型分有符号和无符号,默认是有符号的。 有符号类型: 数据…...
API网关类型与区别
什么是API网关? 在现代软件架构中,API(应用程序编程接口)网关起着重要的作用。它是一个中间层,用于管理和控制应用程序之间的通信。API网关可以提供一些关键功能,如流量控制,安全认证ÿ…...
linux:nginx网站升级至http2
参考: 怎样把网站升级到http/2 - 知乎 HTTP/2 与 HTTP/1.1:它们如何影响 Web 性能? | Cloudflare 总结: nginx.conf修改 http2需要ssl支持 listen 443 ssl http2;...
Flutter:屏幕适配
flutter_screenutil flutter_screenutil是一个用于在Flutter应用程序中进行屏幕适配的工具包。它旨在帮助开发者在不同屏幕尺寸和密度的设备上创建响应式的UI布局。 flutter_screenutil提供了一些用于处理尺寸和间距的方法,使得开发者可以根据设备的屏幕尺寸和密度…...
中科亿海微ROM使用
标题 ROM(Read-Only Memory,只读存储器)是一种在FPGA(Field-Programmable Gate Array,现场可编程门阵列)中常用的存储器类型。与RAM(Random Access Memory,机存取存储器)…...
Python接口自动化测试之UnitTest详解
基本概念 UnitTest单元测试框架是受到JUnit的启发,与其他语言中的主流单元测试框架有着相似的风格。其支持测试自动化,配置共享和关机代码测试。支持将测试样例聚合到测试集中,并将测试与报告框架独立。 它分为四个部分test fixture、TestC…...
python——案例17:判断某年是否是闰年
案例17:判断某年是否是闰年 判断依据:闰年就是能被400整除,或者能被4整除的年份numint(input(输入年份:))if num%1000: if num%4000: #整百年份的判断print("%s年是闰年"%num) #…...
allure测试报告
使用pytest结合Allure进行测试报告生成的简单教程 allure测试报告 Allure基于Java开发,因此我们需要提前安装Java 8或以上版本的环境。 ◆安装allure-pytest插件在DOS窗口输入命令“pip3 install allure-pytest”,然后按“Enter”键。 下载安装Allure…...
Vue 路由懒加载
Vue 路由懒加载 随着 Web 应用的复杂性不断增加,性能优化成为了开发人员必须面对的挑战之一。Vue 路由懒加载是一项关键技术,它可以帮助我们提高 Web 应用的加载速度,从而提升用户体验。 在本篇技术博文中,我们将深入探讨 Vue 路…...
软件设计师(七)面向对象技术
面向对象: Object-Oriented, 是一种以客观世界中的对象为中心的开发方法。 面向对象方法有Booch方法、Coad方法和OMT方法等。推出了同一建模语言UML。 面向对象方法包括面向对象分析、面向对象设计和面向对象实现。 一、面向对象基础 1、面向对象的基本…...
Qt中将信号封装在一个继承类中的方法
QLabel标签类对应的信号如下: Qt中标签是没有双击(double Click)这个信号的; 需求一:若想双击标签使其能够改变标签中文字的内容,那么就需要自定义一个“双击”信号,并将其封装在QLabel类的派生…...
Docker介绍
1. docker是什么 1.1 为什么会有docker出现? 假设你在开发一个项目的时候,你使用的是windows系统而且你的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。你正在开发的应用依赖于你当前的配置而且还要依赖于某些配置文件。此外…...
C++红黑树
一、红黑树的概念 红黑树是一种二叉搜索树,在其每个节点上增加一个存储位用于表示节点的颜色,可以是Red或Black 通过对任何一条从根到叶子的路径上的各个节点着色方式的限制,红黑树确保没有一条路径比其他路径长两倍 红黑树的性质ÿ…...
LangChain与大模型的学习ing
大模型的菜鸟初学习 一、问题记录1、库的版本问题 二、实例记录1、公司名生成2、提示模板的使用3、LLM Chain4、LLMMemory5、聊天语言API 参考资料 一、问题记录 1、库的版本问题 openai.error.APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(ho…...
Go把Map转成对象
最近使用了Redis的Hash,把一个对象给存储到了hash里面,具体如下: 现在需要从RedisHash缓存里面把结果给取出来,同时赋值到一个对象上面 result, err : global.GVA_REDIS.HGetAll(context.Background(), key).Result() 问题是resul…...
Java-网络编程
TCP TCP(Transmission Control Protocol)是一种在计算机网络中用于可靠数据传输的协议。它是一种面向连接的协议,确保数据在发送和接收之间的可靠性和有序性。以下是TCP是如何工作的简要概述: 建立连接: 当两台计算机…...
AppUpdate完整指南:10分钟掌握Android应用更新库
AppUpdate完整指南:10分钟掌握Android应用更新库 【免费下载链接】AppUpdate Android App update library. Android版本更新库,简单、轻量、可随意定制 项目地址: https://gitcode.com/gh_mirrors/app/AppUpdate AppUpdate是一款专为Android开发者…...
Vectorizer终极指南:5分钟掌握PNG/JPG到SVG的无损转换技巧
Vectorizer终极指南:5分钟掌握PNG/JPG到SVG的无损转换技巧 【免费下载链接】vectorizer Potrace based multi-colored raster to vector tracer. Inputs PNG/JPG returns SVG 项目地址: https://gitcode.com/gh_mirrors/ve/vectorizer 你是否曾遇到过Logo放大…...
Windows Defender终极移除指南:windows-defender-remover工具完整使用教程
Windows Defender终极移除指南:windows-defender-remover工具完整使用教程 【免费下载链接】windows-defender-remover A tool which is uses to remove Windows Defender in Windows 8.x, Windows 10 (every version) and Windows 11. 项目地址: https://gitcode…...
龙旗科技年营收421亿:同比降9% 顺为去年清仓,套现超12亿 小米减持
雷递网 雷建平 4月14日龙旗科技日前发布截至2025年的年报,年报显示,龙旗科技2025年营收为421.25亿,较上年同期的463.82亿元下降9.18%。龙旗科技2025年净利为5.85亿,较上年同期的5亿元增长16.76%;扣非后净利为3.23亿元&…...
Python如何计算移动平均值_Pandas实现滚动窗口函数应用
rolling()默认右对齐,前N?1行不足时返回NaN;需中心对齐用centerTrue;时间序列优先用rolling(5D);min_periods1可首行出值但掩盖稀疏问题;apply()须返回标量,推荐lambda x: x.quantile(0.5);ski…...
惠普OMEN游戏本终极性能优化指南:OmenSuperHub开源工具完整教程
惠普OMEN游戏本终极性能优化指南:OmenSuperHub开源工具完整教程 【免费下载链接】OmenSuperHub 使用 WMI BIOS控制性能和风扇速度,自动解除DB功耗限制。 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 还在为惠普OMEN游戏本官方软件…...
终极Pytorch ReID实战指南:如何在Market-1501数据集上轻松达到90%+识别准确率
终极Pytorch ReID实战指南:如何在Market-1501数据集上轻松达到90%识别准确率 【免费下载链接】Person_reID_baseline_pytorch :bouncing_ball_person: Pytorch ReID: A tiny, friendly, strong pytorch implement of person re-id / vehicle re-id baseline. Tutori…...
【多模态大模型数据增强黄金法则】:20年AI架构师亲授7类不可替代的增强策略,92%的泛化提升实测有效
第一章:多模态大模型数据增强的核心挑战与范式跃迁 2026奇点智能技术大会(https://ml-summit.org) 多模态大模型的数据增强已突破传统单模态扰动范式,正经历从“像素/词元级扰动”到“语义对齐生成”的根本性跃迁。其核心挑战不再局限于数据量不足&…...
终极SOCD解决方案:如何用Hitboxer解决游戏键盘输入冲突,提升操作精度80%
终极SOCD解决方案:如何用Hitboxer解决游戏键盘输入冲突,提升操作精度80% 【免费下载链接】socd Key remapper for epic gamers 项目地址: https://gitcode.com/gh_mirrors/so/socd 你是否曾在激烈的游戏对抗中,因为同时按下相反方向键…...
kohya_ss训练SDXL模型避坑指南:从数据集准备到超参数调优
SDXL模型高效训练实战:从kohya_ss环境配置到LoRA微调全流程解析 如果你正在尝试用kohya_ss训练SDXL模型却频繁遇到报错,或是训练效果总是不尽如人意,这篇文章将带你避开那些新手常踩的坑。不同于基础教程,我们聚焦于实际训练中的高…...
