性能测试面试题

1、jmeter分布式压测怎么配置

修改jmetre.properties文件添加压力机ip端口如果模拟1000个线程请求,有4个压力机(服务器),那么需要将线程数设置为250

2、性能监控命令

top

Vmstat

mpstat

free

iostat 磁盘监控

uptime 平均负载

pidstat -u 5 1 查看哪个进程导致资源占用过高

3、压测tps上不去什么原因?怎么排查

1>压力机本身性能瓶颈

2>网络IO瓶颈

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

4>Java线程的阻塞、等待

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

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

4、数据怎么写入influxdb,grafana的exporter和dashboard怎么设计

在jmeter里配置监听器,把influxdb的信息配置成功,运行jmeter查看influxdb是否写入数据

数据源配置:把influxdb信息配置成功

仪表盘创建:信息填好之后选择配置好的数据源,再次执行就能通过图形实时监控了

5、性能测试场景怎么设计?

一般基本的场景包括:基准测试、单交易测试、混合测试、稳定性测试。

其他场景的可选场景:高可用性测试、异常测试等,以及其他的结合各自项目业务的场景。

单交易基准测试,使用压测工具或平台,1个用户或者基准用户数,运行5分钟或者迭代100次。

单交易负载测试,并发用户逐渐递增到预估值情况下,运行10分钟。

混合测试,多种交易设置不同并发用户占比的情况下,运行30分钟。

稳定性测试,选择混合测试支持最大并发用户数的80%,运行2小时。

如果压测工作任务时间允许,可以适当调整压测场景运行时间。

如果要求被测系统支持7*24小时稳定性,稳定性测试运行时间也要跟着做调整。

6、线程死锁怎么定位分析

分析:造成这种现象的原因有很多,可能是网络原因,但测试时用的是局域网,所以不可能是网络的问题。也可能是CPU使用过高导致服务器端负载过大,无法处理客户端的请求导致的,此时去检查应用服务器和数据库服务器的CPU,发现还没有达到60%,所以可以排除资源瓶颈问题(当时的测试场景资源指标是应用服务器CPU不能超过60%,数据库服务器CPU不能超过80%)。因为基准测试和负载测试都是测单个交易,而混合场景是把多个交易放到一起发压,既然是多个交易,就有可能存在死锁问题,而混合场景的测试目的是为了检测是否存在线程死锁和数据库死锁。

死锁是因为多线程访问共享资源,由于访问顺序不当造成的,通常是一个线程锁定了一个资源A,而又想去锁定资源B,在另一个线程中,锁定了资源B,而又想去锁定资源A以完成自身的操作,两个线程都想得到对方的资源,而不愿意释放自己的资源,造成两个线程都在等待,而无法执行的情况。

定位:用JDK自带的命令jstack -pid去查看线程信息,jstack很快就帮我们找到了死锁的位置(在实际运行中,往往dump一次信息,还不足以确认问题,建议多dump几次,如果每次dump都指向同一个问题,那么就可以确定是这个问题导致的线程死锁)

7、内存泄漏和内存溢出区别

内存泄漏:程序使用的空间用完也无法释放,积累下导致内存被占光

内存溢出:要求分配的内存超出了系统可分配的,导致内存溢出

8、高并发下需要注意哪些

  1. 尽量使用缓存,
  2. 优化数据库查询,提高查询效率
  3. 使用服务器集群

9、常见的性能指标有哪些?分别是什么含义?

1>tps:每秒事务量,代表了系统的处理能力,tps越高,性能越好

2>响应时间:从发出请求到接受到系统响应数据所花费的时间,响应时间越短,性能越好

3>吞吐量:网络上行和下行流量的总和,吞吐量是网络瓶颈定位的重要指标

4>错误率:在压测过程中系统出现错误的比例

10、产品就只给一个需求,需求调研的内容都不知道,也没人告诉你,怎么开展性能测试

1>没有任何途径进行需求调研的情况下,可以跳过需求调研,直接开始压测。

2>压测完成后,可以把本次压测数据开会讨论,共同决定是否满足性能需求。

3> 根据行业内的通用指标规范

11、服务器的cpu使用率和load(负载)是什么关系?

1>通常情况下,cpu使用率和load值是正比关系,即cpu使用率越高,load值越高。

2>在一些特殊情况下,也会出现cpu使用率不高,但是load值较高的情况。

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

1>应用服务器的cpu高,先要看tps和响应时间,如果tps比较高,我们认为是正常的cpu消耗;如果tps比较低,那么往往某些代码过于消耗cpu

2>数据库服务器cpu高,往往是因为sql语句执行效率比较低,可以通过对数据库慢查询是监控,结合执行计划进行分析,是否是相关表没有索引或索引未生效。

13、Jvm监控怎么分析定位

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟学识

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值