Advertisement

面试官经常问的性能测试面试题有哪些?该怎么回答?

阅读量:

前言

我近几日时常会收到朋友们关于性能测试面试题的咨询,想着写一篇关于性能测试面试题的文章。不过这类测试通常用得较少的知识点,在实际面试中却常常会被涉及到底线是什么?我想通过这篇文章来探讨一下相关问题。为什么会想到分享这个话题呢?因为我身边有个同事前几天 similarly went through a similar situation. 在一次面试中正好碰到了关于性能测试的问题, 当时回答不上来结果自然是不合格了. 这件事给我留下了深刻的印象, 于是决定系统地整理一下相关内容.

大家好呀!我想和大家分享一些关于性能测试面试题的经验总结呢!这些都是我自己收集整理而来的经验总结哦。

1.常见的性能测试策略有哪些

参考答案:

基准场景测试,并发(边界条件)并发模拟中继, 复杂业务场景模拟, 性能压力条件下系统响应评估, 疲劳运行状态下的系统稳定性验证, 极限性能检测, 大规模数据吞吐量实验

2.完成一个性能测试项目,请阐述你的实施流程:

参考答案:

测试设计阶段:

1)了解被测系统的性能需求,定义测试目标和范围;

2)了解系统的技术信息,如系统架构等;

确定测试方案、进度安排,并制定相应的测试计划;同时明确场景模拟方案及相关的测试数据需求。

4)同相关人员协商讨论测试方案;

5)创建数据采集模板;在进行不同项目的性能测试时,应根据项目需求分别收集相应的数据;设计一个更适合当前需求的数据采集模板。

测试环境准备:

1)技术准备工作;
2)确定性能测试工具的选择;
3)在制定测试方案时需考虑的技术要点;
4)数据收集方案的具体实施步骤;
5)例如,在实际操作中需要关注哪些资源监控细节?

2)搭建测试环境;

3)创建初始数据;如虚拟用户使用的账号等;

测试执行阶段:

1)录制脚本;

2)调试脚本;

3)执行场景;

4)收集测试数据,并简单整理;

测试分析阶段:

1)分析测试数据,报告整理

3.性能指标解释:

1)并发:

用户在同一时刻对系统执行操作,一般指做同一件事情或操作。

2)请求响应时间:

从 client 端发出请求到得到响应的整个时间;

包括:client 端响应时间+网络响应时间+Server 端响应时间。

3)TPS(Transaction Per Second)

秒内可处理的交易或事务数量。它是用来衡量系统处理能力的重要指标。TPS在LoadRunner中是一个关键的性能参数指标。

秒内可处理的交易或事务数量。它是用来衡量系统处理能力的重要指标。TPS在LoadRunner中是一个关键的性能参数指标。

4)资源利用率

对不同资源的使用程度,如 CPU,I/O,内存,网络

4.性能测试中tps如果上不去原因有哪些?

1、网络带宽

在压力测试实验中时有需求场景需要模拟成千上万条用户并发请求。若短时间内发送的数据包数量超过网络带宽承载能力,则会导致网络资源竞争现象发生。最终影响服务端接收处理请求的数量未达到预期处理上限。

2、连接池

由于可利用的连接数量不足, 会导致请求长时间挂起. 连接池通常分为常见的服务器端... (比如 Tomcat) 和数据库端... (也可视为最大允许的数量).

3、应用问题,如垃圾回收机制

在常见的应用服务器中(例如Tomcat),由于Java堆栈内存采用动态分配策略,并且其具体的垃圾回收机制基于特定算法设计。系统运行过程中会频繁地进行Minor garbage collection(GC)操作以释放Eden区和Survivor区的空间;而老年代执行Full GC操作较为频繁。这些持续的操作将导致系统的吞吐量(TPS)受到影响;此外还需注意到垃圾回收过程自身会消耗一定资源

4、数据库配置

在高并发场景下,当应用程序向系统发送请求数据时,在同时涉及多个数据库表的操作时(即进行跨表查询操作),若数据库连接池的最大连接数不足,并且所使用的SQL语句未索引也未绑定变量;或者未实施主从分离和读写分离策略,则会导致相应的事务处理速度降低,并进而影响系统的吞吐量(TPS)。

5、通信连接机制

采用顺序连接、并行处理、延迟连接以及数据传输通道等多种数据传输方式时,在不同场景下也会间接影响其吞吐量(TPS)。

6、硬件资源

包括CPU(配置、使用率等)、内存(占用率等)、磁盘(I/O、页交换等)。

7、压力机

例如JMeter,在单机端的负载能力较为受限的情况下,在实际应用中若模拟环境中的用户请求量超过单机处理能力时,则会间接导致TPS指标受到影响。此时建议采用分布式压力测试的方式来缓解单机处理压力。

8、业务逻辑

业务解耦度较低,较为复杂,整个事务处理线被拉长导致的问题。

9、系统架构

例如涉及缓存服务是否存在、缓存服务器的配置参数设置以及相关的性能指标如命中率、穿透概率和过期机制等因素都会对测试结果产生影响。

性能测试执行时,是否有必要进行参数化设置?这种做法的主要原因是什么?在使用JMeter进行测试时,请指导如何配置测试用例参数?

是。模拟用户真实的业务操作。

创建参数列表,用参数替换固定的文本

6.请问您是如何得到性能测试需求?怎样针对需求设计、分析是否达到需求?

在查看需求文档,从中提取性能测试需求 ,制定性能测试范围;

基于业务信息构建针对不同用户的典型行为路径进行模拟测试,并通过分析和评估确定需要重点关注的性能参数。

执行场景用例后根据提取关键性能指标来分析是否满足性能需求。

7.吞吐量和响应时间的关系?

吞吐量是指正常情况下,设备能接受的最大速率

响应时间是指从指令发出到返回所用的时间

响应时间越短说明吞吐量越大。

8.Loadrunner的三大组件是什么

Virtual User Generator虚拟用户生成组件,录制和调试脚本。

Controller 场景控制组件,用于设置场景,运行脚本,监控资源

Analysis 结果分析组件,用于查看脚本运行结果,分析性能测试结果

9.画出系统架构图?

示意图:

总结

文章就写到这里了哈,喜欢的记得点赞收藏加关注哟。

全部评论 (0)

还没有任何评论哟~