前言
我最近这两天发的文章都是关于性能测试的,那么这篇文章呢我还是想发性能测试有关的。性能测试一般用的比较少但是我们去面试的时候绝对会被问到性能测试相关的问题,这篇文章呢,我就来聊聊性能测试面试题。为啥想到要聊这个呢,是因为我身边有个朋友前几天去面试了,结果被面试官问到了性能测试,结果回答不上来,然后面试黄了哈哈哈哈,不好意思有点幸灾乐祸了,不说废话了我们进入正题吧。
我给大家分享一些性能测试的面试题吧,这是我收集过来的,大家可以看看哟。
1.常见的性能测试策略有哪些
参考答案:
基准测试,并发(业务边界值)测试,综合场景测试,负载测试,疲劳测试,极限压力测试,大数据量测试
2.完成一个性能测试项目,请阐述你的实施流程:
参考答案:
测试设计阶段:
1)了解被测系统的性能需求,定义测试目标和范围;
2)了解系统的技术信息,如系统架构等;
3)确定测试方案、进度安排,并制定测试计划,场景设置方案,及需要收集的测试数据;
4)同相关人员协商讨论测试方案;
5)准备数据收集模板;不同项目的性能测试,需要收集的数据不同;针对性的制定一个模板,更符合需要;
测试环境准备:
1)技术准备;选择性能测试工具;测试方案中涉及到的技术问题;测试数据的收集方案实现;如:如何监控系统资源等;
2)搭建测试环境;
3)创建初始数据;如虚拟用户使用的账号等;
测试执行阶段:
1)录制脚本;
2)调试脚本;
3)执行场景;
4)收集测试数据,并简单整理;
测试分析阶段:
1)分析测试数据,报告整理
3.性能指标解释:
1)并发:
用户在同一时刻对系统执行操作,一般指做同一件事情或操作。
2)请求响应时间:
从 client 端发出请求到得到响应的整个时间;
包括:client 端响应时间+网络响应时间+Server 端响应时间。
3)TPS(Transaction Per Second)
每秒钟系统能够处理的交易或事务的数量。它是衡量系统处理能力的重要指标。TPS 是 LoadRunner 中重要的性能参数指标。
4)资源利用率
对不同资源的使用程度,如 CPU,I/O,内存,网络
4.性能测试中tps如果上不去原因有哪些?
1、网络带宽
在压力测试中,有时候要模拟大量的用户请求,如果单位时间内传递的数据包过大,超过了带宽的传输能力,那么就会造成网络资源竞争,间接导致服务端接收到的请求数达不到服务端的处理能力上限。
2、连接池
可用的连接数太少,造成请求等待。连接池一般分为服务器连接池(比如Tomcat)和数据库连接池(或者理解为最大允许连接数也行)。
3、应用问题,如垃圾回收机制
从常见的应用服务器来说,比如Tomcat,因为java的的堆栈内存是动态分配,具体的回收机制是基于算法,如果新生代的Eden和Survivor区频繁的进行Minor GC,老年代的full GC也回收较频繁,那么对TPS也是有一定影响的,因为垃圾回收其本身就会占用一定的资源。
4、数据库配置
高并发情况下,如果请求数据需要写入数据库,且需要写入多个表的时候,如果数据库的最大连接数不够,或者写入数据的SQL没有索引没有绑定变量,抑或没有主从分离、读写分离等,就会导致数据库事务处理过慢,影响到TPS。
5、通信连接机制
串行、并行、长连接、管道连接等,不同的连接情况,也间接的会对TPS造成影响。
6、硬件资源
包括CPU(配置、使用率等)、内存(占用率等)、磁盘(I/O、页交换等)。
7、压力机
比如jmeter,单机负载能力有限,如果需要模拟的用户请求数超过其负载极限,也会间接影响TPS(这个时候就需要进行分布式压测来解决其单机负载的问题)。
8、业务逻辑
业务解耦度较低,较为复杂,整个事务处理线被拉长导致的问题。
9、系统架构
比如是否有缓存服务,缓存服务器配置,缓存命中率、缓存穿透以及缓存过期等,都会影响到测试结果。
5.性能测试时,是不是必须进行参数化?为什么要创建参数?JMeter中如何创建参数?
是。模拟用户真实的业务操作。
创建参数列表,用参数替换固定的文本
6.请问您是如何得到性能测试需求?怎样针对需求设计、分析是否达到需求?
在查看需求文档,从中提取性能测试需求 ,制定性能测试范围;
结合业务信息设计操作历史访问记录场景总结出需测试的性能关键指标。
执行场景用例后根据提取关键性能指标来分析是否满足性能需求。
7.吞吐量和响应时间的关系?
吞吐量是指正常情况下,设备能接受的最大速率
响应时间是指从指令发出到返回所用的时间
响应时间越短说明吞吐量越大。
8.Loadrunner的三大组件是什么
Virtual User Generator虚拟用户生成组件,录制和调试脚本。
Controller 场景控制组件,用于设置场景,运行脚本,监控资源
Analysis 结果分析组件,用于查看脚本运行结果,分析性能测试结果
9.画出系统架构图?
示意图:
由于篇幅有限,有需要的同学可以私信“资料”获取面试题哟,喜欢的记得点赞收藏加关注哟。