700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 软件性能测试面试题一

软件性能测试面试题一

时间:2019-08-23 16:23:03

相关推荐

软件性能测试面试题一

1、IO性能调优的过程:OS级别->进程级->线程级->文件级

vmstat(或者iostat,可以查看系统磁盘的读写量及cpu占用率)->iotop(定位到什么进程在作祟)->systemtap->

2、cpu性能调优的过程:vmstat->top(查看进程号)->pidstat(查看哪个线程消耗了cpu:pidstat -p 10846 -u -d -t -w -h 1 1000)->jstack(做thread dump,例如:jstack -l 10846>10846.threadump)->查看nid(nid指native ID 对应系统的tid,但tid显示的10进制,nid显示的是16进制)->printf %x'\n' 10861->转换后的结果为2a6d->对应到threaddump文件中,查到nid在哪一行,从而确定代码的哪一行对cpu的使用比较高

3.tomcat配置

4、JVM内存是否开的越大越好,为什么?

答:JVM内存开的越大,JVM在进行Full GC所需的时间越久,由于Full GC时stop whole word的,如果是用于响应HTTP请求的服务器,这个时候就表现为停止响应,对于需要低延迟的应用来说,这是不可接受的,对于需要高吞吐量的应用来说,可以不在乎这种停顿,比如一些后台的应用之类的,那么内存可以适当调大一些

5、如果tps曲线图上下波动很大,那你怎么去分析问题?

答:比如:1、网络的波动,2、压力过大,3、防火墙设置不当,4、环境不干净,压测期间有其他用户在访问服务器,5、线程是有挂起,6、数据库锁,7、不正常的GC;这几个问题都会引起tps上下波动很大

6、性能测试流程

答:获取测试需求->测试架构的调研、业务模型调研、确定需求->测试计划(属于部门老大工作)->测试方案设计->环境的搭建->测试用例设计->测试数据准备->测试环境试运行->测试脚本开发->创建模型(场景)->执行场景(此过程中,需监控调试)->测试结果分析->问题反馈(相应的研发人员处理问题)->再次测试->最终报告

7、cpu资源负载高如何定位分析问题

答1、用top找到最耗资源的进程id,2、查询最消耗资源的java线程(top -H -p 进程号)3、打印java 栈 信息(在jdk的bin下执命令:jstack pid>pid.threaddump

4、将耗资源的java的tid(十进制)转换为nid(十六进制){因为系统级的tid对应threaddump中的nid},5、查看pid.threaddump文件中的nid,从而找到出问题java代码的行号,6、

同时要看一下堆的情况,在jdk的bin目录执行:jmap -heap pid;jmap -histo pid

8、堆内存和栈内存的区别?

答:堆主要用来存放对象的,栈主要是用来执行程序的

9.top的-H参数的意思

答;-H :Threads toggle(线程切换),所以top -H -p pid的意思就是找出线程切换消耗cpu的线程

可能存在的问题:1、程序中可能存在死循环,导致服务器负载超高(使用top指令查看负载高达100+), 需要借助Linux的proc虚拟文件系统找到具体的问题程序,2、程序不合理使用session,需要借助Linux的proc文件系统找出原因,

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。