性能测试常见面试问题和答案

一、有没有做过性能测试,具体怎么做的

性能测试是有做过的,不过我们那个项目的性能做得不多,公司要求也不严格。一般SE 给我们相关的性能需求,首先我们需要对性能需求进行场景分析与设计,这里,其实主要就是确定并发数,考虑是否需求设置集合点,以及个业务场景的性能指标要求,根据以上的分析来编写性能测试用例。

然后就开始着手去准备性能测试需要用到数据,以便后期做参数化,搭建好性能测试环境,然后就进行性能脚本的开发与执行。

就拿当时做过的一个下单接口性能测试来讲吧。

当时下单接口要求做一个并发压测,当时公司要求设定的并发数在:600 考虑到下单接口,必须要先登录,所以,首先我会准备600 个用户数据(账号,密码),这边当时是通过存储过程来实现。然后把创建好的600 个用户账号,提取出来,保存在csv 文件中。之后就是编写性能测试脚本了,这里主要就是,脚本的几个核心点

1,线程组中的线程数设置为:600

2,Ramp-Up 时间:5 秒

3,循环测试设置1 次

4,然后就是开始进行用户数据的参数化,参数化这块需要用到一个csv 数据文件设置这个配置原件。

5,考虑是需要设置集合点,由于不是秒杀抢购活动,不需要设置集合点。

6,最后添加聚合报告,用来观察90%用户的平均响应时间,错误率,吞吐量/吞吐量这些指标

7,例外对于服务器资源的监控,像CPU,内存,磁盘IO,网络,这块当时用的nmon 工

具来获取这些数据的,我们需要在服务器上安装一个nmon 工具,并运行启动就可以了,最后把它转化为excel 表格形式的图形化报告。最后对报告做一个简单的分析。

当时我们就是这么做的

二、性能测试流程是怎么样的?

例外一种问法:简单介绍下你们公司的性能测试流程是怎么样的?

我们那个项目的性能做得不多,公司要求也不严格。对于流程这块,首先就要对整个系统进行详细的分析,确定基本的测试范围,看下系统的哪些业务是需要做性能测试的,还有就是做哪方面的性能测试,对于我们那个项目,当时就做了几个业务做了些简单的并发压测(稳定性)这块,像登录的,搜索查询,下单,还有就是购物车里面的几个接口都有做过。然后就是对各个业务场景进行详细的场景分析与设计,确定每个业务场景的并发数,是否需要设置集合点啊,压测时间是多长,还有各个业务场景的性能指标等等,场景设计这块基本上都是老大跟产品哪个一起弄的,我参与的不是太多。

上面把个场景设置好了之后,提交给我们,我们就是根据老大设置好的那些场景编写了基本的性能测试用例。其实做性能测试,我觉得前期最关键的还是业务场景一定要设计好,后期我们主要的任务就是准备各自任务需要用到的一些测试数据,搭建好测试环境,还有就是测试脚本设计与开发,执行,并生出测试报告,对于测试结果我们一般会简单的做个分析,如果没有什么问题,基本后期就写一个性能测试报告。流程大概就是这样的。

三、你们性能观察哪些指标,大概指标范围是怎么样的

对于指标这块,业务方面的指标主要有:并发数,90%用户的平均响应时间错误率,吞吐量/吞吐率这些,例外还需要关注服务器资源的使用情况,像:CPU 的使用率,内存的占有率,磁盘IO,网络

我们那个项目当时只针对,登录,搜索查询,下订单,购物车相关接口,支付等业务做了些简单的并发,压测这块,指标大概是这样的:

单基准业务并发测试登录,注册,查询1s 以内,下订单,购物车相关接口,支付2s以内

混合业务性能:5s 以内

响应时间:登录,注册业务<2 之内查询,下订单,购物车,支付业务<3s

充值,提现,查看充值日志,查看提现日志业务查询标的, <3s

投标,申请借款<5s

错误率:0

吞吐量/吞吐率:200 左右请求/sec

CPU: 80%以内

内存:80%以内

I/O: %util<=80%,%iowait<=20%

%util: 磁盘一秒中有百分之多少的时间用于I/O 操作,

%iowait:磁盘等待处理时间占比

带宽: <=系统带宽的30%,无丢包,无延迟,无阻塞

四、性能测试计划有哪些内容

写过,主要是时间进度安排与工作安排,主要是环境,测试任务,测试需求,测试方法与策略,测试环境准备,测试通过的标准

比如说原来我们一个项目性能测试时做了5 天,那我们计划是,测试策略与用例编写一天,测试准备需要1 天,测试执行2 天,报告总结1 天。

五、有没有写过性能测试报告,具体包括哪些内容

性能测试报告,需要每次jmeter 压测完成的html 报告的数据跟nmon 工具监控的数据,整理出一份性能测试报告,性能测试报告,主要包含

1,测试资源(环境,测试数据,表里面需要多少数据,测试工具)

2,测试设计(测试业务,测试类型,测试时间,并发用户数)

3,测试分析(每一个场景都需要分析)

4,测试结论(能不能上线,不上线的原因)

5,优化和建议

6,测试通过的标准,平均响应时间<5s,资源利用率<75%,事务失败率<5%

六、什么是内存泄漏,什么是内存溢出

内存泄漏:

是指程序在申请内存后,无法释放已申请的内存空间,导致系统无法及时回收内存并且分配给其他进程使用。通常少次数的内存无法及时回收并不会到程序造成什么影响,但是如果在内存本身就比较少获取多次导致内存无法正常回收时,就会导致内存不够用,最终导致内存溢出。

内存溢出:OOM

-1. 指程序申请内存时,没有足够的内存供申请者使用1M 实际要占用2M 内存,就说分配的内存不够,导致内存溢出

-2. 给了你一块存储int 类型数据的存储空间,但是你却存储long 类型的数据,

-3. 长期出现内存泄漏,导致系统内存越用越少,最终导致内存不够用,导致系统崩溃,出现OOM

七、吞吐量与吞吐率跟负载有什么关系?

吞吐量/率和负载之间的关系:

①上升阶段:吞吐量随着负载的增加而增加,吞吐量和负载成正比;

②平稳阶段:吞吐量随着负载的增加而保持稳定,无太大变化或波动;

③下降阶段:吞吐量随着负载的增加而下降,吞吐量和负载成反比;

总结:吞吐量/率干不过负载!!!

八、当你服务器满了之后,你们吞吐量和响应时间怎么变化的

吞吐量会所有下降,响应时间会变长

九、你们吞吐量是多少,响应时间是多少,你设置了多少并发

登录:吞吐量大概在13.5/sec,响应时间<1s,设置的并发数180 个并发数。

十、有没有做过稳定性测试

部分接口有做过稳定性测试。具体怎么做的?

稳定性测试主要就是看某个业务在高并发情况下是否能持续稳定运行嘛,当时大部分的核心业务都有做过稳定性的,这个需是把并发数设置为峰值,然后循环次数设置为永远,例外要

开启调度器,调度器中的持续时间设定为3600 秒,让它持续压测1 个小时。看下接口的各项性能指标的变化,是否在预期的指标范围之内。

查询:吞吐量大概在36/sec,响应时间<3s,设置的并发数500 个并发数。

下单:吞吐量大概在25.6/sec,响应时间<3s,设置的并发数350 个并发。

十一、5000 个人抢购,只能50 个人能抢到,你怎么设计并发数的

并发数,按群内最大人数计算,利用二八原则,5000*80%=4000,并发数的峰值为4000
在这里插入图片描述

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

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

相关文章

二百七十八、ClickHouse——将本月第一天所在的那一周视为第一周,无论它是从周几开始的,查询某个日期是本月第几周

一、目的 ClickHouse指标表中有个字段week_of_month&#xff0c;含义是这条数据属于本月第几周。 而且将本月第一天所在的那一周视为第一周&#xff0c;无论它是从周几开始的。比如2024-12-01是周日&#xff0c;即12月第一周。而2024-12-02是周一&#xff0c;即12月第二周 二…

【OCR】——端到端文字识别GOT-OCR2.0不香嘛?

代码&#xff1a;https://github.com/Ucas-HaoranWei/GOT-OCR2.0?tabreadme-ov-file 在线demo&#xff1a;https://huggingface.co/spaces/stepfun-ai/GOT_official_online_demo 0.前言 最早做ocr的时候&#xff0c;就在想如何能做一个端到端的模型&#xff0c;就不用先检测再…

AndroidStudio-常见界面控件

一、Button package com.example.review01import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Button import android.widget.TextViewclass Review01Activity : AppCompatActivity() {override fun onCreate(savedInstanceStat…

网络安全中的 SOC 是什么?

当今世界&#xff0c;网络威胁日益增多&#xff0c;确保网络安全已成为各种规模企业的首要任务。网络安全讨论中经常出现的一个术语是 SOC&#xff0c;即安全运营中心的缩写。但网络安全中的 SOC 是什么呢&#xff1f; SOC在防御网络威胁、管理安全事件和全天候监控系统方面发…

智选球员:运用动态规划提升棒球队的签约效益

目录 一、签约棒球自由球员 二、分析和理解 &#xff08;一&#xff09;问题背景回顾 &#xff08;二&#xff09;目标确定 &#xff08;三&#xff09;约束条件分析 &#xff08;四&#xff09;明确输出要求 三、动态规划&#xff08;Dynamic Programming&#xff09;解…

Lua面向对象实现

Lua中的面向对象是通过表&#xff08;table&#xff09;来模拟类实现的&#xff0c;通过setmetatable(table,metatable)方法&#xff0c;将一个表设置为当前表的元表&#xff0c;之后在调用当前表没有的方法或者键时&#xff0c;会再查询元表中的方法和键&#xff0c;以此来实现…

航空美食新升级,光明肉业携手东航食品打造经典辣肉面新篇章

在航空餐饮日益注重品质与创新的大环境下&#xff0c;各大航空公司纷纷在美食领域下功夫&#xff0c;力求为乘客提供更加多元化、高品质的餐饮体验。近日&#xff0c;东航那碗面再次成为行业焦点&#xff0c;其经典辣肉面在光明肉业的助力下实现了“创新”升级&#xff0c;为乘…

在.NET 6中使用Serilog收集日志

此示例的完整详细信息&#xff1a;https://download.csdn.net/download/hefeng_aspnet/89998498 Serilog 是一个日志库&#xff0c;它提供对文件、控制台和其他几个地方的记录。它易于配置&#xff0c;并且具有干净且易于使用的界面。 Serilog具有无与伦比的输出目的地选择&…

STM32 HAL库开发学习5. 系统滴答定时器

STM32 HAL库开发学习5. 系统滴答定时器 一、滴答定时器概述1. 概述2. 时钟源3. 寄存器&#xff08;1&#xff09;控制与状态寄存器 STK_CTRL&#xff08;2&#xff09;重载寄存器 STK_LOAD&#xff08;3&#xff09;当前值寄存器 STK_VAL 二、HAL库滴答定时器初始化三、SysTick…

智慧零售时代传统供应链的痛点与数字化变革:定制开发 AI 智能名片 S2B2C 商城系统的应用与影响

摘要&#xff1a;本文深入探讨了智慧零售时代传统供应链所面临的痛点&#xff0c;分析了在该时代背景下打通线上线下渠道以及整合资源的关键需求。阐述了传统零售供应链若线上线下渠道独立、数据不流通将导致的库存管理与物流效率问题&#xff0c;并强调其必须进行数字化变革以…

国家信息中心单志广:智慧城市转型中的数据要素价值释放

今日&#xff0c;由中国电信集团主办的2024数字科技生态大会数据要素合作论坛在广州市举办。国家发改委国家信息中心信息化和产业发展部主任单志广在论坛发展主旨演讲&#xff1a;智慧城市转型中的数据要素价值释放&#xff0c;主要包括发展新形势、数据新要素、数据新产权、数…

从零开始使用GOT-OCR2.0——多模态OCR项目:微调数据集构建 + 训练(解决训练报错,成功实验微调训练)

在上一篇文章记录了GOT-OCR项目的环境配置和基于官方模型参数的基础使用。环境安装的博文快速链接&#xff1a; 从零开始使用GOT-OCR2.0——多模态通用型OCR&#xff08;非常具有潜力的开源OCR项目&#xff09;&#xff1a;项目环境安装配置 测试使用-CSDN博客 本章在环境配置…

【在Linux世界中追寻伟大的One Piece】读者写者问题与读写锁

目录 1 -> 读者写者问题 1.1 -> 什么是读者写者问题 1.2 -> 读者写者与生产消费者的区别 1.3 -> 如何理解读者写者问题 2 -> 读写锁 2.1 -> 读写锁接口 3 -> 读者优先(Reader-Preference) 4 -> 写者优先(Writer-Preference) 1 -> 读者写者…

基于PSO粒子群优化的CNN-LSTM-SAM网络时间序列回归预测算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 matlab2022a 3.部分核心程序 &#xff08;完整版代码包含详细中文注释和操作步骤视频&#xff09…

vxe-table 键盘操作,设置按键编辑方式,支持覆盖方式与追加方式

vxe-table 全键盘操作&#xff0c;按键编辑方式设置&#xff0c;覆盖方式与追加方式&#xff1b; 通过 keyboard-config.editMode 设置按键编辑方式&#xff1b;支持覆盖方式编辑和追加方式编辑 安装 npm install vxe-pc-ui4.3.15 vxe-table4.9.15// ... import VxeUI from v…

Java设计模式笔记(二)

十四、模版方法模式 1、介绍 1&#xff09;模板方法模式(Template Method Pattern)&#xff0c;又叫模板模式(Template Patern)&#xff0c;在一个抽象类公开定义了执行它的方法的模板。它的子类可以按需重写方法实现&#xff0c;但调用将以抽象类中定义的方式进行。 2&…

ZLMediaKit+wvp (ffmpeg+obs)推拉流测试

这里使用了两种方式: ffmpeg命令和 OBS OBS推流在网上找了些基本没有说明白的, 在ZLMediaKit的issues中看到了一个好大哥的提问在此记录一下 使用OBS推流&#xff0c;rtmp&#xff0c;报鉴权失败 推流 1. ffmpeg命令推流 官方说明文档地址: 推流规则 rtsp://192.168.1.4:10554…

思科模拟器路由器的基本配置

一、实验目的 了解路由器的作用掌握路由器的基本配置方法 3、掌握路由器模块的使用和互连方式 二、实验环境 2811路由器一台&#xff0c;计算机两台&#xff0c;Console配置线一根&#xff0c;网线若干&#xff1b;本实验拓扑图如图8-1所示&#xff1b;计算机IP地址规划如表8-…

TOPSIS法

TOPSIS 法&#xff1a;多属性决策的有效工具 在多属性决策分析领域&#xff0c;TOPSIS 法&#xff08;Technique for Order Preference by Similarity to Ideal Solution&#xff09;是一种广泛应用且极具价值的方法。它为解决复杂的决策问题提供了一种系统、科学的途径&#…

嵌入式入门Day24

数据结构Day5 树形结构相关概念二叉树相关概念二叉树的状态二叉树性质二叉树的存储二叉树根据已有序列推出树的结构练习 算法相关概念算法特性算法的设计要求时间复杂度排序算法冒泡排序&#xff08;改良版&#xff09;选择排序&#xff08;O(n^2)&#xff09;直接插入排序&…