性能测试面试题,5分钟速刷一下!

2390 篇文章 33 订阅
1301 篇文章 7 订阅

在这里插入图片描述

如果你最近面试过程中被卡在了性能面试题上,那么意味着你需要多刷刷面试题了。当然有认真学过,能够充分理解就更好啦~

1、简述性能测试的步骤/流程?

①分析需求

②制定测试计划和方案(时间,人力)

③设计性能测试场景和用例(并发,负载,压力,稳定性等)

④搭建环境

⑤准备用户数据(如何确定用户并发数)

线上的注册用户数的10%做测试环境的在线用户

根据高峰时间段和业务量,计算平均并发和峰值并发

⑥设计性能测试脚本(jmeter)

线程、请求数、关联、断言、参数化、报告

不同的线程组设计不同的测试类型

⑦运行、监控测试数据

⑧分析性能瓶颈:吞吐量,响应时间,资源利用率

⑨性能调优 :吞吐量调优,网卡宽带、硬件调优、Cpu,磁盘

⑩出具性能测试报告

2、CPU资源利用率很高如何排查?

①CPU资源利用率很高的话,需要看CPU消耗User、Sys、Wait哪种状态。

②如果CPU User非常高,需要查看消耗在哪个进程,可以用top(linux)命令看出,接着用top –H –p看哪个线程消耗资源高。如果是Java应用,就可以用jstack看出此线程正在执行的堆栈,看资源消耗在哪个方法上,查看源代码就知道问题所在;如果是c++应用,可以用gprof性能工具进行分析。

③如果CPU Sys非常高,可以用strace(linux)看系统调用的资源消耗及时间。如果CPUWait非常高,考虑磁盘读写了,可以通过减少日志输出、异步或换速度快的硬盘。

3、一个web系统,用户从打开浏览器输入网址页面显示在浏览器中,这个过程当中,页面给用户总的响应时间通常可以细分为哪些?

从客户端到服务端的请求时间(请求网络传输时间request),从服务端返回数据到客户端的时间(响应网络传输时间response),页面渲染时间(客户端浏览器加载页面的时间),处理器的处理时间(应用服务器+数据库服务器处理时间)。

4、响应时间和吞吐量直接的关系是什么?

吞吐量图显示的是虚拟用户每秒钟从服务器接收到的字节数。当和响应时间比较时,可以发现随着吞吐量的降低,响应时间也降低,同样的,吞吐量的峰值和最大响应时间差不多在同时出现。

5、怎么根据线下环境评估线上环境的性能?

首先线下必须要有专门的性能测试环境

线下环境单台机器配置和线上不能相差很大,可以通过单台的机器性能推算出多台机器性能(需考虑一定的性能损耗)

如果线下机器配置很差,只能测试出程序有无性能问题,这样线下测试出来的数据对线上没有太大参考意义

如果想获取比较准确的线上性能情况,建议最好做线上的性能测试

6、应用服务器cpu高和数据库服务器cpu高的分析思路是什么?

应用服务器的cpu高,先要看tps和响应时间,如果tps比较高,我们认为是正常的cpu消耗;如果tps比较低,那么往往某些代码过于消耗cpu,可以考虑使用jprofiler分析下 数据库服务器cpu高,往往是因为sql语句执行效率比较低,可以通过对数据库慢查询是监控,结合执行计划进行分析,是否是相关表没有索引或索引未生效

7、出现内存泄露的根本原因是什么?你是怎么定位内存泄露原因的?

内存泄露的根本原因是Jvm中老年代中存在着大量存活的对象,这些对象不能被GC回收掉,从而占满了整个老年代,造成Jvm一直处于FGC的状态,程序没有响应,服务器报OOM错误 内存泄露主要通过分析老年代中占用空间最大的类都有哪些,然后去代码中找对应的类的创建。通常可以使用jdk提供的jvisualvm和jmap进行堆内存的分析

8、tps压不上去,可能有哪些方面的原因?

压力机本身性能瓶颈

网络IO瓶颈

中间件(tomcat/nginx/mysql)连接数限制

Java线程的阻塞、等待

本系统资源的瓶颈(cpu、内存、磁盘、网络等)

其他外部系统响应时间过长,造成本系统的time-wait

9、什么是集合点,什么场景下需要用集合点?

集合点是测试脚本中的一个标记,当每个虚拟用户执行到标记处时,会停留在标记处等待其他的虚拟用户,当达到预期设置的并发数时,标记处的所有用户同时启动执行后续的请求 集合点会产生瞬间高并发,但是也会降低平均压力。所以在压测过程中,如果有要求瞬间高并发的业务,就需要使用集合点,比如抢购,秒杀之类的业务。没有类似业务则不需要加集合点

10、服务器的cpu使用率和load是什么关系?

通常情况下,cpu使用率和load值是正比关系,即cpu使用率越高,load值越高。但是在一些特殊情况下,也会出现cpu使用率不高,但是load值较高的情况 比如某系统只能使用CPU中的单核运行,它可以占用单核cpu100%,但从整体cpu使用率来看,只是使用了一小部分。而随着并发的增大,单核CPU的任务队列会越来越长,造成了load值较高

上面就是一些常见的性能测试面试题,速刷一下,为面试做准备吧!

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 759968159,里面有各种测试开发资料和技术可以一起交流哦。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取 【保证100%免费】

在这里插入图片描述

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 24
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值