性能测试面试题

news/2025/4/3 8:37:41/文章来源:https://www.cnblogs.com/zz0124/p/18802510

1、性能问题的六个特征:

(1)、持续缓慢:

(2)、随着时间推进越来越慢、

(3)、随着负载增加越来越慢、

(4)、零星挂起或异常错误、

(5)、可预见的锁定、

(6)、突然混乱、

 

2、性能瓶颈

性能瓶颈定义:导致系统TPS低、响应时间长、资源(CPU、内存、网络)占用高等问题的

(1)、找到性能瓶颈

瓶颈的类型:

a、网络瓶颈,如带宽,流量等形成的网络环境

b、应用服务瓶颈,如中间件的基本配置,CACHE等

c、系统瓶颈,这个比较常用:应用服务器,数据库服务器以及客户机的CPU,内存,硬盘等配置

d、数据库瓶颈,以ORACLE为例,SYS中默认的一些参数设置

e、应用程序本身瓶颈,

关键程序模块。提升该程序模块的性能,可以大幅度改善性能。

常见的性能瓶颈原因包括:数据库慢查询SQL、日志打印、xml大报文解析和格式转换、复杂业务逻辑、锁竞争等。

(2)、如何找到性能瓶颈

使用jmeter或LoadRunner给每个接口的增加事务,记录其响应时间和TPS,最慢的那个接口往往是瓶颈;

分析慢交易的日志,查看是哪个操作耗时最长;

分析数据库快照,看是否有执行较慢或者全表扫描的SQL;

通过Javacore查看线程正在执行的代码,是大部分阻塞在IO上,还是大部分在进行计算。针对不同的问题,使用不同的分析工具。详细内容可以看下一章节。

(3)、针对性能瓶颈进行合理优化

性能优化原则:

先优化瓶颈问题;

方案简单,尽量不引入更多复杂性,尽量不降低业务体验;

满足系统性能要求即可,不引入新的bug。

 

3、如何定位性能问题?

A. 查看系统日志,日志是定位问题的不二法宝,如果日志记录的全面,很容易通过日志发现问题。

比如,系统宕机时,系统日志打印了某方法执行时抛出out of memory的错误,我们就可以顺藤摸瓜,很快定位到导致内存溢出的问题在哪里。

B. 利用性能监控工具,比如:JAVA开发B/S结构的项目,可以通过JDK自带的Jconsole,或者JProfiler,来监控服务器性能,Jconsole可以远程监控服务器的CPU,内存,线程等状态,并绘制变化曲线图。

利用Spotlight可以监控数据库使用情况。

我们需要关注的性能点有:CPU负载,内存使用率,网络I/O等

C. 工具和日志只是手段,除此之外,还需要设计合理的性能测试场景

具体场景有:性能测试,负载测试,压力测试,稳定性测试,浪涌测试等

好的测试场景,能更加快速的发现瓶颈,定位瓶颈

D. 了解系统参数配置,可以进行后期的性能调优

 

4、简要说明性能测试流程?

(1) .分析性能需求。 选择用户最常用的场景进行测试,例如登录、搜索和订购。 确定绩效指标。 例如,事务通过率为100%,TOP99%为5秒,最多同时用户1000人,CPU和内存使用率低于70%。

(2)制定性能测试计划,明确测试时间(一般在功能稳定后,如第一次测试后进行)、测试环境和测试工具

(3)编写新能测试用例

(4)建立性能测试环境,准备性能测试数据

(5) 编写性能测试脚本

(6)性能测试脚本优化。 设置检查点、参数化、关联、聚合点、事务,调整思考时间,删除冗长的脚本

(7)设计测试场景,运行测试脚本,监控服务器,

(8)分析测试结果,收集并开发相关日志提单

(9)回归性能测试

(10)写测试报告

(11)性能调优

 

5、如何确定系统的最大负载?

通过负载测试,增加用户数量。 随着用户数量的增加,各项性能指标也相应变化。 当性能拐点出现时,例如,当用户达到某个订单时,如果响应时间突然增加,则该拐点的对应用户数可以是该系统可以装载的最大用户数。

 

6、你的系统哪里(哪些功能)进行了性能测试?

我们选择了用户最常用的功能进行了测试,包括登录、搜索和提交订单

 

7、你们的同时用户数是怎么确定的?

1 )上线一段时间,根据收集到的用户访问数据进行估计

2 )根据需求决定(高峰时间段、注册用户数、1次响应时间等

 

8、你们的性能测试在什么环境下进行?

独立的性能测试环境进行测试

 

9、你们的性能测试什么时候进行?

基准测试:功能测试后,在系统稳定时进行。

负载测试:夜深,系统无人使用时

 

10、如何分析性能测试结果?

首先看事物的通过率,然后分析其他性能指标。 例如,如果测试结果不可靠,如响应时间、事务通过率、CPU等指标是否满足需求,请分析并纠正异常原因,然后重新测试

 

11、如何识别系统瓶颈?

通过TPS指标分析,TPS是在系统单位时间内处理的事务数量。 观察当前随着用户数量的增加,系统每秒能处理的事务数是否也会增加

 

12、如何判断系统性能是变好了还是变坏了?

通过基准比较性能指标。

 

13、你们的性能测试需求来自哪里?

(1) :客户提供需求(主要)

(2 )运维需求

(3 )开发提供需求

 

14.具有验证码功能。 你怎么做性能测试?

1 )临时屏蔽验证码,完成性能测试后恢复

2 )使用万能的验证码

 

15.如何加强性能脚本?

1 )参数化

2 )相关

3 )添加事务

4 )添加断言

5 )增加集合点

6 )增加思考时间

 

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

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

相关文章

算法备案能加急办理吗?

首先明确一点,算法备案官方审核部门是没有所谓的渠道提供快速审核服务的,所有申请者都是一视同仁。其次,我们确实有办法提高审核效率,加快算法备案进度。大家要注意识别所谓的加速办理是哪种情况以下是一些算法备案审核周期的重要信息,供大家参考:一、算法备案官方周期 1…

Windows11+OBS+视频号+麦克风设置直播操作流程

OBS+视频号直播操作流程 一、前期准备 1、可用于直播的电脑,我的是Win11系统 2、硬件设备(相机、采集卡、麦克风等) 3、软件(微信、OBS) 4、虚拟声卡 注:这个教程主要说一下声卡的配置,所以相机和采集卡之类的没有讲到 二、软件安装 微信和OBS这个都不会安装就别折腾了,所…

2025年天梯赛补题记录——整数的持续性

为什么没写出来:哈哈,看到400ms就不想写了,被前面一个题目卡了两次时间心态崩了,头脑发昏以为直接算过去会超时(能说那个时候快困死了脑袋很不灵光吗,给自己的无能找借口嘻嘻) 优化思路: 1.记忆化缓存:一想便知道每个数的分解都算一次很费时间,可以联想到记忆化缓存—…

《上古卷轴3:晨风》——存档技能数据修改

《上古卷轴3:晨风》由于其mod广泛开发,使得游戏的生命力非常强大,至今仍受广大RPG迷的喜爱!但晨风的技能数据如果用CE去修改,则是无用的。这里提供了技能数据的存档顺序,因此可以利用hex editor类的软件直接修改存档CE修改失效 《上古卷轴3:晨风》由于其mod广泛开发,使…

记录一次Armbian安装宝塔面板遇到ModuleNotFoundError: No module named _sqlite3的问题

如果在用Armbian安装宝塔面板的时候遇到ModuleNotFoundError: No module named _sqlite3报错,并且无法进入web面板界面,可以尝试以下操作。报错界面展示:步骤1:更换或添加Ubuntu软件源地址到/etc/apt/source.list.d文件夹的文件中 例如:将下面的地址添加到/etc/apt/source…

Cesium中glb模型颜色暗淡解决

问题: 3dmax导出fbx,此fbx文件导入blender中,再由blender导出成glb模型,该glb模型放入cesium中贴图颜色颜色暗沉无光,试了各种办法(泛光、时差、多光源、唯一光)效果均不明显。 原因: 发现,转格式过程中不知道哪一环出错,会导致模型材质一个叫metallicFactor的属性格…

工业相机与采集卡配套方案:构建高性能机器视觉系统的核心要素

机器视觉技术作为人工智能和智能制造的关键组成部分,正日益广泛地应用于工业自动化、质量检测、机器人引导等领域。而一套高性能的机器视觉系统,离不开工业相机和采集卡的完美配合。工业相机负责图像的采集,采集卡则负责将相机采集到的图像数据传输到计算机进行分析和处理。…

在Linux环境下搭建Dify

在Linux环境下搭建Dify Dify的概述 Dify是一款开源的大语言模型(LLM)应用开发平台。它融合了后端即服务(Backend as Service)和LLMOps的理念,使开发者可以快速搭建生成级的生成式AI应用。即使你是非技术人员,也能参与到AI应用的定义和数据运营过程中。由于Dify内置了构建LLM应…

Linux密钥认证及Windows使用密钥连接Linux

概述 Linux中我们要连接主机,输入用户名密码然后连接,我们发现每次连接都要输入密码,对于一些批量操作不方便 我们需要一种新的认证方式,每次连接不需要输入密码,这个方法就叫密钥认证 密钥认证原理原理详解:使用ssh-keygen命令生成私钥和公钥。 使用ssh-copy-id命令将公…

3.31 等价关系与划分

1 等价关系与划分 1.1 等价关系 若R是自反的,对称的和传递的,则称R为A上的等价关系(和恒等关系、全域关系不同) *关系内部的元素是等价的 *R^2={(a,b)}即第一分量到第二分量有一个长度为2的路径 所以R^2(长度为2的路径)∈R(长度为1的路径),即可判断R具有传递性 1.2 等…