稳定性测试要点+性能监控关键指标分析

news2024/12/24 1:01:15

前言

1、稳定性测试的要点

1)长时间的以正常的业务负载进行运行(最低为用户实际使用时的负载量,如果用户实际负载量低于最优负载量,也可以使用最优负载量)

2)稳定性的测试数据(用户实际使用负载量)来源于运营数据

3)稳定性测试时,需要针对不同的业务操作,并且模拟不通的用户,进行长时间的稳定性测试(并行执行所有脚本,因为要模拟实际用户使用场景,不同的用户在线所做的动作肯定不一致)

2、性能测试的监控的关键指标

1)系统指标:与用户场景和需求相关的指标

用户并发数:某一物理时刻同时向系统提交请求的用户数
平均响应时间:系统处理事务的响应时间的平均值,一般在3s左右
吞吐量:服务器的最大处理能力

2)服务器资源的指标:硬件服务器的资源使用指标

cpu使用率:一般情况下上限为85%。
内存占用率:一般情况下上限为85%。

磁盘I/O:
监控磁盘实际I/是否已接近最大值,接近则有问题;
1/0队列长度一直不为0,说明磁盘1/0有问题;

网络带宽:监控实际的网络流量,与网络带宽做对比,如果实际网络流量与网络带宽比较接近,则网络存在瓶颈,需要优化

注意:实际中的百兆带宽是Mbps,但是我们技术中衡量的带宽的单位是MBps,1MBps=8Mbps【1Byte=8bit】,所以实际带宽=100/8=12.5)

3、Java应用:应用程序在运行时的各项指标

Java运行时的内存划分包含:堆区、栈区(分为虚拟机栈和本本地方法栈)、方法区、程序计数器。

堆区:堆是线程共享的内存空间,Java虚拟机启动时就创建了,用来存放对象、数组

方法区:方法去也是线程共享的内存空间,也是Java虚拟机启启动时就创建了,用来存放类的基本信息,如方法、接口、构造函数、字段、常量、全局变量等。

栈区:包含虚拟机栈区和本地方法栈区,其中虚拟机栈区保存程序运行的局部变量,本地方法栈区为与操作系统本地程序工作需要使用的变量。

程序计数器:存放一个指针,指向当前线程正在执行的字节码马指令的行号。

堆区和方法区为线程共有的,Java虚拟机运行时就创建,线程执行时直接使用,线程结束不释放。

栈区和程序计数器为线程私有的,是随着线程生随着线程灭的,也就是说线程使用的时候创建,线程结束后释放。

那么测试的时候重点关注的就是就是堆区,当对象结束后没有有被释放,那么空间就会被占用,也就是内存泄漏。

测试时,如果堆区的空间持续上升没有下降,就是内存泄露

4、数据库:数据库服务器运行时需要监控的指标

慢查询:监控系统在运行时,所执行的所有sql语句,检查这些sql是否慢(设置一个时长,超过这个时长就是慢查询)

缓存命中率:监控业务执行过程中sql查询时的缓存命中率(查询语吾句读取缓存的次数占总查询次数的的比例,如果缓存命中率过低,需要优化代码和sql查询语句)

数据库连接池:监控数据库连接池的使用率(如果数据库连接池被占满,如果此时有新的sql语句要执行,只能排队等待,等待连接池中的连接被释放【也就是之前的sql语句执行完成】)如果监控发现数据库连接池的侵使用率过高,甚至是经尝出现排队的情况,需要调优。

mysql锁:监控测试过程中是否有死锁出现,如果出现,需要进行优化。

5、测试机资源指标:测试机在模拟用户负载时的资源使用情况

cpu:cpu使用率一般不超过80%
内存:内存使用率一般不超过80%
网络:带宽
磁盘空间:压测机主要是发送请求

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取   

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

文献解读-农业系列-第八期|《有害突变在多倍体棉花中积累速度快于二倍体棉花,且在亚基因组间不平衡》

关键词:基因组变异检测;全基因组测序;基因组多倍体化; 文献简介 标题(英文):Deleterious Mutations Accumulate Faster in Allopolyploid Than Diploid Cotton (Gossypium) and Unequally betw…

【笔记】深度学习入门

神经网络基础 计算机视觉 1.1 人工智能的本质——线性模型 ykxb k为权重,b为偏置 像素点有323233072个任务点 所以权重有3072个,假设有10组类别,注意权重是一个矩阵 1.2 模型更新方法 权重一开始是随机的 权重和损失值,尝试…

进口电动对夹式硬密封蝶阀的特点-美国品牌

进口电动对夹式硬密封蝶阀的特点可以归纳如下: 一、结构特点 对夹式设计:采用对夹式连接,无需法兰和螺栓,安装简便快捷,降低了安装成本和空间占用。三偏心结构:阀座与蝶板之间采用三偏心设计,…

外汇天眼:Equals集团发布战略评估通知:MDP不再考虑收购提议

Equals Group plc (LON)今天发布了一份关于其战略评估的通知。 Equals公司不再与Madison Dearborn Partners, LLC (MDP)就公司的收购提议进行讨论。MDP因此发布了一份声明,确认其不打算为公司提出收购提议。 然而,MDP与其投资组合公司MoneyGram Interna…

Codeforces Round 950 (Div. 3) A~F

A.Problem Generator(遍历) 题意: 弗拉德计划在下个月举行 m m m轮比赛。每轮比赛应包含一个难度为"A"、“B”、“C”、“D”、“E”、"F"和"G"的问题。 弗拉德已经有了一个 n n n个问题的问题库&#xff0…

开发文档 RAG 的 GPTs 如何更高效地帮你 AI 编程?

(注:本文为小报童精选文章。已订阅小报童或加入知识星球「玉树芝兰」用户请勿重复付费) 某些看似门槛很高的专业技能,在 AI 冲击下居然那么脆弱。 需求 自从有了ChatGPT,我拿它编程很久了。今年春季学期的《深度学习》…

计算机信息安全技术课后习题答案

计算机信息安全技术课后习题答案 计算机信息安全技术(第2版)付永刚 部分习题答案 第一章 计算机信息安全技术概述 选择题 关于访问控制服务的描述中,正确的是( A ) A. 可控制用户访问网络资源 B.可识别发送方的真实身…

STM32无法烧写程序的故障排除

如果你在使用STM32微控制器时遇到无法烧写程序的问题,可以按以下步骤进行故障排除: 1. 确认硬件连接 检查电源:确保STM32板子正确供电。调试器连接:确认ST-LINK调试器或其他编程工具与STM32开发板的连接无误,尤其是S…

将web项目打包成electron桌面端教程(二)vue3+vite+ts

说明:我用的demo项目是vue3vitets,如果是vue2/cli就不用往下看啦,建议找找其他教程哦~下依赖npm下载不下来的,基本换成cnpm/pnpm/yarn就可以了 一、项目准备 1、自己新创建一个,这里就不过多赘述了 2、将需要打包成…

windows上修改Podman的镜像配置源加速

目录 前言解决办法1. 打开window的Powershell 2. 修改registries.conf3. 重启podman即可 扩展内容1. 国内镜像源地址2. 阿里加速地址 前言 今天在电脑上准备通过podman安装mysql,结果执行安装命令后,网络不通没法下载镜像。 解决办法 将默认镜像源修改…

AI 大模型训练中,通常会采用哪些方法?(输入篇)

大家好 某种程度来说大模型训练的核心算法就是300到400行代码,如果真正理解了并不难。下面我将带大家分析常规大模型训练有几个阶段以及在训练中一般会用到哪些方法。 由上图可以看出,大模型训练主要有四个阶段:预训练、有监督微调、奖励建模…

C++11:可变参数模板 emplace_back

可变参数模板 基本概念&#xff1a;C 的参数模板是 C11 引入的特性&#xff0c;它允许模板接受可变数量的参数 // Args是一个模板参数包&#xff0c;args是一个函数形参参数包 // 声明一个参数包Args... args&#xff0c;这个参数包中可以包含0到N个模板参数。 template <…

Vue21-列表排序

一、需求 二、解决方式 <body><div id"root"><h2>人员列表</h2><input type"text" placeholder"请输入" v-model"keyword"><button click"sortType 1">年龄升序</button><b…

uniapp地图导航

我们只需要给图标加一个点击事件 我这里的数据都是动态的&#xff0c;想测试的朋友可以写固定值 然后跳转之后首先会调到选择软件导航 点击导航之后会显示使用哪个app 最后我们选择之后将会直接跳转到app进行导航

spring boot3登录开发-邮件验证码接口实现

⛰️个人主页: 蒾酒 &#x1f525;系列专栏&#xff1a;《spring boot实战》 目录 写在前面 上文衔接 接口设计与实现 1.接口分析 2.实现思路 3.代码实现 1.定义验证码短信HTML模板枚举类 2.定义验证码业务接口 3. 验证码业务接口实现 4.控制层代码 4.测试 写…

带你走进信息安全软件架构

汽车行业网联化以及网络安全风险日益突出&#xff0c;汽车网络攻击&#xff0c;漏洞日益增加&#xff0c;危害防不胜防。汽车信息安全逐步受到重视&#xff0c;网络安全相关法律法规陆续颁布。在这样的背景下&#xff0c;AUTOSAR 组织也发布了有关信息安全模块和 Crypto Stack(…

【ARM Coresight Debug 系列 -- ARMv8/v9 软件实现断点地址设置】

请阅读【嵌入式开发学习必备专栏 】 文章目录 ARMv8/v9 软件设置断点地址断点地址软件配置流程代码实现 ARMv8/v9 软件设置断点地址 在ARMv8/9架构中&#xff0c;可以通过寄存器 DBGBVR0_EL1 设置断点。这个寄存器是一系列调试断点值寄存器中的第一个DBGBVRn_EL1&#xff0c;其…

Chromium源码阅读:深入理解Mojo框架的设计思想,并掌握其基本用法(1)

Mojo简介 Mojo 是一个运行时库的集合&#xff0c;提供与平台无关的通用 IPC 原语抽象、消息 IDL 格式以及具有针对多种目标语言的代码生成的绑定库&#xff0c;以便于跨任意进程间和进程内边界传递消息。 Mojo 分为清晰分离的层&#xff0c;子组件的基本层次结构如下&#xff…

GraphQL(7):ConstructingTypes

1 使用GraphQLObjectType 定义type&#xff08;类型&#xff09; 不使用ConstructingTypes定义方式如下&#xff1a; 使用ConstructingTypes定义方式如下&#xff1a; 更接近于构造函数方式 var AccountType new graphql.GraphQLObjectType({name: Account,fields: {name: …

微软Win10 21H2/22H2六月更新补丁KB5039211来了!附完整更新日志

系统之家于6月12日发出最新报道&#xff0c;微软为 Windows 10 用户发布了六月的安全更新补丁KB5039211。对于 21H2 版本的用户&#xff0c;系统版本号将升级至 19044.4529&#xff1b;而对于 22H2 版本&#xff0c;版本号则提升至 19045.4529。此次更新的亮点在于增强了系统的…