史上最强,Jmeter性能测试-性能场景设计实例(详全)

2023-10-13 15:36

本文主要是介绍史上最强,Jmeter性能测试-性能场景设计实例(详全),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

1、性能测试需求

需求1: 活动页面,要你做性能测试, 看是否能满足1000个人同时访问。

需求2: 商定,对接的接口,要满足 50tps。—这样的场景怎么设计

需求3: 秒杀活动,我要看,秒杀时,服务器能否支持500个人同时秒杀。

2、6种常用设计方法

1)普通性能场景设计-1000个人同时访问
2)阶梯性能场景(负载测试场景)
3)压力测试场景
4)面向目标场景(lr很容易,但是jmeter,没有系统讲解,不知道怎么做)-50tps的
5)混合场景设计(混合)不同数量的人,向不同的接口发起请求
6)有时间规律场景

3、Jmeter单机并发数-1000以内比较好-线程数

请添加图片描述

线程数: 模拟的并发用户数量

线程数,有没有限制呢?
Jmeter本身是没有对线程数做限制

但是, jmeter启动这些并发用户数时,需要消耗资源,受电脑cpu的主频限制,一台电脑不可能创建无限量的线程数

实际的情况,http协议的脚本,线程数,大概能 1500左右 2000个可能产生,但是可能会出错,1000左右比较保守,可能能产生。

也就是说,1台电脑,http协议脚本,保守估计是可以参数1000个并发用户数
如果你想模拟超过1000并发用户数,你可能需要考虑 分布式

4、ramp-up时间-启动所有线程数启动的时间(前提线程数在合理的范围1000以内吧)

在ramp-up时间结束点,所有的线程数都会产生-即并发用户数

在ramp-up时间内,是否均匀产出并发用户数,是不确定

在启动时间内,产生的并发用户数,一产生,就去发起请求

启动了并发用户,就会去发起请求,不同时间产生的并发用户数,与前面产生的并发用户数,调用的接口可能不一样

jmeter做性能测试,更多时候,使用的是,广义并发
ramp-up时间要大于等于1

线程数 ramp-up时间,怎么设置才比较合理?

500以内并发用户, ramp-up 设置2~4s;

500-1000 ramp-up设置 5s;

>1000 ramp-up 设置5-8s;

一个原则: ramp-up时间在总执行时间中,占比要很低
一般的情况,一个性能测试的总执行时间 几十秒钟 ~ 几十分钟

5、循环次数

默认必须大于等于1
循环次数,就是每个并发用户数要去执行的请求数量
复习框 永远 一直循环,直到你点击停止,才会

这个停止会有问题吗?
会有问题,会导致请求报错,或卡死

永远 应该怎么用呢?
要与 调度器 一起使用

必须把两个勾 都勾选
调度器
持续时长

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只有坚持不懈地追求自己心中的理想,才能在漫长的人生旅途中走得更远更稳。不要害怕失败,大力付出,你将成就自己的辉煌,享受属于自己的荣光!

只有勇敢地跨出第一步,才能迈向成功的彼岸。不论前方有多少荆棘与坎坷,坚持信念、积极拼搏,你将在不懈奋斗中收获自己的辉煌人生!

不要被困难吓倒,更不要轻易放弃。坚持自己的理想和目标,不断地超越自己,你将在坚韧的人生路上书写出属于自己的璀璨华章!

这篇关于史上最强,Jmeter性能测试-性能场景设计实例(详全)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/204192

相关文章

Python调用另一个py文件并传递参数常见的方法及其应用场景

《Python调用另一个py文件并传递参数常见的方法及其应用场景》:本文主要介绍在Python中调用另一个py文件并传递参数的几种常见方法,包括使用import语句、exec函数、subproce... 目录前言1. 使用import语句1.1 基本用法1.2 导入特定函数1.3 处理文件路径2. 使用ex

Linux alias的三种使用场景方式

《Linuxalias的三种使用场景方式》文章介绍了Linux中`alias`命令的三种使用场景:临时别名、用户级别别名和系统级别别名,临时别名仅在当前终端有效,用户级别别名在当前用户下所有终端有效... 目录linux alias三种使用场景一次性适用于当前用户全局生效,所有用户都可调用删除总结Linux

java图像识别工具类(ImageRecognitionUtils)使用实例详解

《java图像识别工具类(ImageRecognitionUtils)使用实例详解》:本文主要介绍如何在Java中使用OpenCV进行图像识别,包括图像加载、预处理、分类、人脸检测和特征提取等步骤... 目录前言1. 图像识别的背景与作用2. 设计目标3. 项目依赖4. 设计与实现 ImageRecogni

Mysql虚拟列的使用场景

《Mysql虚拟列的使用场景》MySQL虚拟列是一种在查询时动态生成的特殊列,它不占用存储空间,可以提高查询效率和数据处理便利性,本文给大家介绍Mysql虚拟列的相关知识,感兴趣的朋友一起看看吧... 目录1. 介绍mysql虚拟列1.1 定义和作用1.2 虚拟列与普通列的区别2. MySQL虚拟列的类型2

C#使用yield关键字实现提升迭代性能与效率

《C#使用yield关键字实现提升迭代性能与效率》yield关键字在C#中简化了数据迭代的方式,实现了按需生成数据,自动维护迭代状态,本文主要来聊聊如何使用yield关键字实现提升迭代性能与效率,感兴... 目录前言传统迭代和yield迭代方式对比yield延迟加载按需获取数据yield break显式示迭

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W

Java操作ElasticSearch的实例详解

《Java操作ElasticSearch的实例详解》Elasticsearch是一个分布式的搜索和分析引擎,广泛用于全文搜索、日志分析等场景,本文将介绍如何在Java应用中使用Elastics... 目录简介环境准备1. 安装 Elasticsearch2. 添加依赖连接 Elasticsearch1. 创

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

Python中的可视化设计与UI界面实现

《Python中的可视化设计与UI界面实现》本文介绍了如何使用Python创建用户界面(UI),包括使用Tkinter、PyQt、Kivy等库进行基本窗口、动态图表和动画效果的实现,通过示例代码,展示... 目录从像素到界面:python带你玩转UI设计示例:使用Tkinter创建一个简单的窗口绘图魔法:用

VUE动态绑定class类的三种常用方式及适用场景详解

《VUE动态绑定class类的三种常用方式及适用场景详解》文章介绍了在实际开发中动态绑定class的三种常见情况及其解决方案,包括根据不同的返回值渲染不同的class样式、给模块添加基础样式以及根据设... 目录前言1.动态选择class样式(对象添加:情景一)2.动态添加一个class样式(字符串添加:情