性能测试面试题及详细答案.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

性能测试面试题及详细答案

一、基础概念类

1.什么是性能测试?它的核心目的是什么?

答案:性能测试简单说就是在特定环境下,通过模拟不同用户负载,验证系统在性能方面是否能满足业务需求的测试工作。核心目的不是找功能bug,而是评估系统的性能极限、稳定性和可靠性,具体要达成这几个目标:一是确认系统在预期用户量下的响应速度、吞吐量等指标是否达标;二是找出系统的性能瓶颈,比如CPU、内存、数据库等方面的问题;三是为系统扩容、优化提供数据支撑,确保系统上线后能稳定运行,避免出现高并发下卡顿、崩溃的情况。

2.性能测试、负载测试、压力测试的区别是什么?

答案:这三个是性能测试里最易混淆的概念,核心区别在测试目标和负载方式上:

1)性能测试:是个统称,覆盖范围最广,只要是验证性能指标的都算,比如测试系统在100并发用户下的响应时间,属于性能测试的基础场景;

2)负载测试:核心是“逐步加负载”,观察系统在不同负载级别下的性能变化,找到系统能稳定支撑的最大负载(也就是饱和点)。比如从50用户开始,每次加20用户,持续运行10分钟,看响应时间、吞吐量的变化趋势;

3)压力测试:是在“超预期负载”下测试,目的是让系统崩溃或出现性能拐点,找出系统的极限承受能力和崩溃后的恢复能力。比如系统预期支持200并发,非要加到500并发,看系统什么时候宕机,宕机后重启能不能正常工作。

简单总结:性能测试是基础验证,负载测试找稳定负载上限,压力测试找极限崩溃点。

3.什么是并发用户数?和在线用户数的区别是什么?

答案:并发用户数指的是同一时间内,向系统发起请求并正在进行交互的用户数量。这里要注意“正在交互”,比如用户同时点击提交订单按钮,这些用户才是并发用户;

在线用户数是指登录系统后处于“在线状态”的用户,但不一定在做操作,可能只是挂着页面没动。比如100个用户登录了电商系统,其中只有20个在同时浏览商品、下单,那在线用户数是100,并发用户数是20;

实际测试中,不能把在线用户数当成并发用户数来设计场景,否则会导致测试结果失真,比如本来系统能支撑200并发,按1000在线用户来压,就会误判系统性能不足。

二、核心指标类

1.性能测试中核心的指标有哪些?分别说明其含义和作用?

答案:核心指标主要有4个,还有几个辅助指标,具体如下:

1)响应时间:指从用户发起请求开始,到系统返回完整响应结束的总时间,包括网络传输时间、服务器处理时间、数据库查询时间等。作用是衡量系统的“快慢”,比如用户点击支付后,3秒内完成跳转就是合格,超过5秒用户就会不耐烦,这是用户体验最直观的指标;

2)吞吐量:单位时间内系统能处理的请求数量(常用QPS每秒查询数、TPS每秒事务数)。作用是衡量系统的“处理能力”,比如电商秒杀场景,TPS达到1000才能支撑10万用户抢货;

3)并发用户数:前面已经说过,核心作用是确定系统在不同用户并发场景下的稳定性,是设计测试场景的核心依据;

4)资源利用率:包括服务器的CPU、内存、磁盘I/O、网络带宽的使用率。作用是定位性能瓶颈,比如CPU持续100%,说明服务器处理能力不足,可能是代码有死循环,也可能是需要扩容;

辅助指标:错误率(并发场景下请求失败的比例,一般要求低于0.1%)、长时间运行稳定性(比如7*24小时运行无异常,验证系统长期可用性)。

2.什么是TPS和QPS?两者的区别是什么?

答案:TPS(TransactionsPerSecond)是每秒事务数,QPS(QueriesPerSecond)是每秒查询数,都是衡量吞吐量的核心指标,区别在“事务”和“查询”的定义上:

1)事务:是一个完整的业务流程,可能包含多个查询操作。比如“用户下单”这个事务,需要查询商品库存、扣减库存、创建订单、扣减余额4个查询/操作,这整个流程完成才算一个事务;

2)查询:是单个独立的请求操作,比如只查询商品详情、只查询用户余额;

适用场景:TPS适合衡量有完整业务流程的场景(比如下单、转账),QPS适合衡量简单查询场景(比如浏览商品列表、查询天气)。比如银行转账系统,重点看TPS;新闻APP的文章查询,重点看QPS。

3.响应时间过长,可能的原因有哪些?

答案:响应时间长是性能测试中最常见的问题,原因主要分4类,排查时可以按这个顺序找:

1)网络层面:客户端到服务器的网络延迟高(比如跨地域访问)、网络带宽不足(并发请求多导致网络拥堵)、DNS解析慢;

2)服务器层面:CPU利用率过高(代码逻辑复杂、有死循环、线程池配置不合理)、内存泄漏(长时间运行后内存持续上涨,导致频繁GC)、磁盘I/O繁忙(比如频繁读写日志、数据库文件);

3)数据库层面:SQL语句优化差(没有索引、索引失效、关联查询过多)、数据库连接池配置不足(并发请求等待数据库连接)、

文档评论(0)

151****9429 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档