当前位置: 首页 > news >正文

性能测试总结-根据工作经验总结还比较全面

性能测试总结

  • 性能测试理论
    • 性能测试的策略
      • 基准测试
      • 负载测试
      • 稳定性测试
      • 压力测试
      • 并发测试
    • 性能测试的指标
      • 响应时间
      • 并发数
      • 吞吐量
      • 资源指标
    • 性能测试流程
    • 性能测试工具
      • JMeter基本使用
        • 元件构成
        • 线程组
        • jmeter的分布式使用
    • jmeter测试报告
    • 常用插件
    • 性能测试的计算
      • 1.根据请求数明细数据计算满足的tps
      • 根据订单总量随时间变化计算测试并发数
      • 根据峰值计算

性能测试理论

性能测试的策略

注意这几个策略是要做压测的类型,基本工作中性能测试都要做,基本测试报告中都要有体现,
基准测试提供基础 测试依据;
负载测试测试不同负载下的压力标准;
稳定性测试 测试8小时以上的系统稳定性;
压力测试 测试高压下的稳定性;
并发测试 测试是否能经受住高并发;

基准测试

狭义上讲:就是单用户测试。测试环境确定后,对业务模型中的重要业务做单独的测试,获取单用户运行时的各项性能指标。

广义上讲:是一种测量和评估软件性能指标的活动。你可以在某个时刻通过基准测试建立一个已知的性能
基准线,当系统的软硬件环境发生变化之后再进行一次基准测试以确定变化对性能的影响。

负载测试

通过逐步增加系统负载,确定在满足系统的性能指标情况下,找出系统所能够承受的最大负载量的测试。

稳定性测试

服务器稳定运行(用户正常的业务负载下)的情况下进行长时间测试
(1天-1周等),并最终保证服务器能满足线上业务需求。

·其他:并发测试、压力测试等

压力测试

在强负载下的测试,查看系统在峰值情况下是否功能隐患、系统是否具有良好的容错能力和可恢复能力。

✓	极限负载情况下导致系统崩溃的破坏性压力测试
✓	高负载下的长时间的稳定性压力测试

并发测试

并发测试(绝对并发):是指在极短的时间内,发送多个请求,来验证
服务器对井发的处理能力。

性能测试的指标

响应时间

响应时问:指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回的结果,整个过程所耗费的时间。

并发数

并发(用户)数:某一时刻同时向服务器发送请求的用户数。

吞吐量

吞吐量 (Througbput):指的是单位时间内处理的客户端请求数量,直接体现软件系统的性能承载能力。

QPS (Query Per second)每秒查询数:即控制服务器每秒处理的指定
请求的数量

TPS (Transactions Per second) 每秒事务数:即控制服务器每秒
处理的事务请求的数量

•	 点击数
•	 错误率
•	 资源利用率

资源指标

根据经验,资源指标通常要求:
(1) CPU不高于75-85
(2) 内存不高于80
(3)磁盛工O不高子90
(4)网络不高于80

性能测试流程

在这里插入图片描述

性能测试工具

工具
. Loadrunner
• JMeter

JMeter基本使用

元件构成

取样器
逻辑控制器
前罝处理器
后罝处理器
断言
定时器
测试片段
配置元件
监听器

在这里插入图片描述

线程组

在这里插入图片描述

jmeter的分布式使用

jmeter分布式原理是一台主机下配置多台代理机;通过代理进行测试并将测试结果交给主机进行分析处理。
在这里插入图片描述
具体代理机和主机的配置如下图

在这里插入图片描述

配置完成后需要在代理机上启动jmeter-server;然后在主机上发起。

在这里插入图片描述

jmeter测试报告

jmeter可以通过命令行方式调用,这样生成报告比较方便,就在报告这里简单说下jmeter的命令行参数。

jmeter -n -t 脚本名.jmx -l test.txt -e -o ./outHtml

上面实例是运行测试脚本并测试完成后解析并生成报告

  • -n 无图像界面
  • -t 脚本文件
  • -l 日志
  • -e 生成报告
  • -o 输出 (-e -o 要一起用)

当然也可以执行不生成报告而需要时再根据日志文件生成报告命令如下:

jmeter -g test.txt -o ./httpOut

特别注意**:
jmeter是要配置环境变量的,不配置的话上述命令中jmeter前面要加上jmeter的路径,就是jmeter的解压路径下bin的下面。

常用插件

常用如下插件

  • Basic Graphs
  • Additionally Graphs
  • Custom Thread Groups
  • PerfMon

PerfMon可以用来监控测试机器的各项指标非常好用。总结下perfMon的使用下面:

在这里插入图片描述

在这里插入图片描述
非常简单就是你得在被监控的机器上启动代理啊,代理包就是ServerAgent这个包。启动下就可以。

性能测试的计算

性能测试怎么来决定需要多少机器多少负载呢,这个一个是取决于机器本身的性能,然后就是基于生产上的数据来估量计算了;基本计算方式如下。

1.根据请求数明细数据计算满足的tps

一般情况下能满足需求的tps计算公式:

计算tps = 总请求数 / 总时间

但是应用中不会有那么稳定的数据,工作中我们都会应用二八原则,既百分之八十的业务都发生在百分之二十的时间。所以公式如下。

计算tps = (总请求数 * 80%) / (总时间 * 20%)

根据订单总量随时间变化计算测试并发数

在这里插入图片描述

根据峰值计算

在这里插入图片描述

相关文章:

性能测试总结-根据工作经验总结还比较全面

性能测试总结性能测试理论性能测试的策略基准测试负载测试稳定性测试压力测试并发测试性能测试的指标响应时间并发数吞吐量资源指标性能测试流程性能测试工具JMeter基本使用元件构成线程组jmeter的分布式使用jmeter测试报告常用插件性能测试的计算1.根据请求数明细数据计算满足…...

类型断言[as语法 | <> 语法

TypeScript中的类型断言[as语法 | <> 语法] https://huaweicloud.csdn.net/638f0fbbdacf622b8df8e283.html?spm1001.2101.3001.6650.1&utm_mediumdistribute.pc_relevant.none-task-blog-2~default~CTRLIST~activity-1-107633405-blog-122438115.2…...

barret reduction原理详解及硬件优化

背景介绍 约减算法,通常应用在硬件领域,因为模运算mod是一个除法运算,在硬件中实现速度会比乘法慢的多,并且还会占用大量资源,因此需要想办法用乘法及其它简单运算来替代模运算。模约减算法可以利用乘法、加法和移位等…...

NLP / LLMs中的Temperature 是什么?

ChatGPT, GPT-3, GPT-3.5, GPT-4, LLaMA, Bard等大型语言模型的一个重要的超参数 大型语言模型能够根据给定的上下文或提示生成新文本,由于神经网络等深度学习技术的进步,这些模型越来越受欢迎。可用于控制生成语言模型行为的关键参数之一是Temperature …...

c#快速入门~在java基础上,知道C#和JAVA 的不同即可

☺ 观看下文前提:如果你的主语言是java,现在想再学一门新语言C#,下文是在java基础上,对比和java的不同,快速上手C#,当然不是说学C#的前提是需要java,而是下文是从主语言是java的情况下&#xff…...

nginx--基本配置

目录 1.安装目录 2.文件详解 2.编译参数 3.Nginx基本配置语法 1./etc/nginx/nginx.conf 2./etc/nginx/conf.d/default.conf 3.启动重启命令 4.设置404跳转页面 1./etc/nginx/conf.d/default.conf修改 ​2. 重启 5.最前面内容模块 6.事件模块 1.安装目录 # etc cd …...

R语言中apply系列函数详解

文章目录applylapply, sapply, vapplyrapplytapplymapplyR语言系列: 编程基础💎循环语句💎向量、矩阵和数组💎列表、数据帧排序函数💎apply系列函数 R语言的循环效率并不高,所以并不推荐循环以及循环嵌套…...

红黑树探险:从理论到实践,一站式掌握C++红黑树

红黑树揭秘:从理论到实践,一站式掌握C红黑树引言为什么需要了解红黑树?红黑树在现代C编程中的应用场景树与平衡二叉搜索树树的基本概念:二叉搜索树的定义与性质:平衡二叉搜索树的特点与需求:红黑树基础红黑…...

CDH6.3.2大数据集群生产环境安装(七)之PHOENIX组件安装

添加phoenix组件 27.1. 准备安装资源包 27.2. 拷贝资源包到相应位置 拷贝PHOENIX-1.0.jar到/opt/cloudera/csd/ 拷贝PHOENIX-5.0.0-cdh6.2.0.p0.1308267-el7.parcel.sha、PHOENIX-5.0.0-cdh6.2.0.p0.1308267-el7.parcel到/opt/cloudera/parcel-repo 27.3. 进入cm页面进行分发、…...

【C++要笑着学】搜索二叉树 (SBTree) | K 模型 | KV 模型

C 表情包趣味教程 👉 《C要笑着学》 💭 写在前面:半年没更 C 专栏了,上一次更新还是去年九月份,被朋友催更很久了hhh 本章倒回数据结构专栏去讲解搜索二叉树,主要原因是讲解 map 和 set 的特性需要二叉搜索…...

微信小程序开发 | 小程序开发框架

小程序开发框架7.1 小程序模块化开发7.1.1 模块7.1.2 模板7.1.3 自定义组件7.1.4插件7.2 小程序基础样式库—WeUI7.2.1 初识WeUI7.2.2【案例】电影信息展示7.3 使用vue.js开发小程序7.3.1 初识mpvue7.3.2 开发工具7.3.3 项目结构7.3.4【案例】计数器7.4 小程序组件化开发框架7.…...

气候系统设计

基础概念 一个星球(例如地球)的气候系统主要是一些基本参数基于公转周期(年)和自转周期(日)的变化,这其中会有两个变化因素:地理位置(经纬度)和天气变化&…...

如何使用Thymeleaf给web项目中的网页渲染显示动态数据?

编译软件:IntelliJ IDEA 2019.2.4 x64 操作系统:win10 x64 位 家庭版 服务器软件:apache-tomcat-8.5.27 目录一. 什么是Thymeleaf?二. MVC2.1 为什么需要MVC?2.2 MVC是什么?2.3 MVC和三层架构之间的关系及工…...

01 | 电机常用语

1 电机常用术语 1.1 原点 原点是指步进电机在驱动直线运动机构时的起始点。 1.2 点动 点动是电动机控制方式中的一种。 点动由于在这一控制回路中没有自保,也没有并接其它的自动装置,只是按下控制回路的启动按钮,主回路才通电,松开启动按钮,主回路就没电了。最典型的是…...

Leetcode.2601 质数减法运算

题目链接 Leetcode.2601 质数减法运算 Rating : 1779 题目描述 给你一个下标从 0 开始的整数数组 nums,数组长度为 n 。 你可以执行无限次下述运算: 选择一个之前未选过的下标 i ,并选择一个 严格小于 nums[i]的质数 ppp &…...

DP7416国产192K数字音频接收芯片兼容替代CS8416

目录192K 数字音频应用DP7416简介芯片特性192K 数字音频应用 采样率192khz,能将192,000hz以下的频率都录下来,而且对声波每秒连续采样192,000次。在回放的时候,这192,000个采样点按顺序播放,从而还原原来的声音。   过采样技术除…...

全球土壤湿度数据获取方法

土壤湿度亦称土壤含水率,表示土壤干湿程度的物理量。是土壤含水量的一种相对变量。通常用土壤含水量占干土重的百分数是示,亦称土壤质量湿度,如用土壤水分容积占土壤总容积的百分数表示,则称土壤容积湿度。通常说的土壤湿度&#…...

在proteus中仿真arduino实现矩阵键盘程序

矩阵键盘是可以解决我们端口缺乏的问题,当然,如果我们使用芯片来实现矩阵键盘的输入端口缺乏的问题将更加划算了,本文暂时不使用芯片来解决问题,而使用纯朴的8根线来实现矩阵键盘,目的是使初学者掌握原理。想了解使用芯…...

【ROS2指南-5】理解ROS2服务

目标:使用命令行工具了解 ROS 2 中的服务。 教程级别:初学者 时间: 10分钟 内容 背景 先决条件 任务 1 设置 2 ros2服务列表 3 ros2服务类型 4 ros2 服务查找 5 ros2界面展示 6 ros2 服务调用 概括 下一步 相关内容 背景 服务是 …...

探索Apache Hudi核心概念 (3) - Compaction

Compaction是MOR表的一项核心机制,Hudi利用Compaction将MOR表产生的Log File合并到新的Base File中。本文我们会通过Notebook介绍并演示Compaction的运行机制,帮助您理解其工作原理和相关配置。 1. 运行 Notebook 本文使用的Notebook是:《A…...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...

五年级数学知识边界总结思考-下册

目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

Fabric V2.5 通用溯源系统——增加图片上传与下载功能

fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

day36-多路IO复用

一、基本概念 (服务器多客户端模型) 定义:单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用:应用程序通常需要处理来自多条事件流中的事件,比如我现在用的电脑,需要同时处理键盘鼠标…...

uniapp 小程序 学习(一)

利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 :开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置,将微信开发者工具放入到Hbuilder中, 打开后出现 如下 bug 解…...

在树莓派上添加音频输入设备的几种方法

在树莓派上添加音频输入设备可以通过以下步骤完成,具体方法取决于设备类型(如USB麦克风、3.5mm接口麦克风或HDMI音频输入)。以下是详细指南: 1. 连接音频输入设备 USB麦克风/声卡:直接插入树莓派的USB接口。3.5mm麦克…...