性能面试题目

性能面试题目
第二部分 loadrunner 部分
 一、 性能测试的目的是什么? 
 
识别系统的弱点,评估系统能力,发现系统性能瓶颈,提升系统可靠性能和稳定性
 
二、 常见的性能测试方法有哪些?
 
a.负载测试:就是一步一步逐渐增长用户数的测试
 
b.压力测试:负载必定的状况下持续运行一段时间
 
c.性能测试
性能测试包括上面两项,且持续运行一段时间
 
三、 Loadrunner 由哪三部分组成,各个功能分别是什么?
 
loadrunner 分为脚本生成器,场景控制器,结果分析器三个部分。LoadRunner,是一种预测系统行为和性能的负载测试工具。经过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题。
 
四、 Loadrunner 调试的时候,日志级别分别是什么?
 
分为标准日志和拓展日志,默认为标准日志,可是咱们每每须要拓展日志,若是须要打开,能够经过runtime settings-->log-->extended log
 
五、 简述 loadrunner 的工做原理 
用户在脚本生成器中生成客户端和服务端的协议交互的脚本,而后在场景控制器中模拟场景,模拟必定数量的用户,对服务器产生压力,同时对被测试系统涉及的操做系统,数据库,中间件等资源进行监控,收集压力状况下的资源信息,测试结束后造成测试结果和监控数据,在结果分析器中进行分析,最后胜出测试结果报告
 
六、 Loadrunner 脚本中 action()和 init(),end()的区别是什么? 
 
能够将它们理解为三个大的事务,你能够把你想要的任何操做,放在它们里面,而后action能够有多个而且重命名
int开头的脚本,一般能够放用户登陆时候的脚本
action操做间的脚本,一般防止一些操做事件
end结束时的脚本,一般是退出脚本
可是须要注意的是int 和end 不能迭代屡次,只能运行一次,action能够运行屡次
 
七、 使用检查点的目的是什么? 
 
检查页面跳转或者用户登陆是否正确,由于LR向服务器发送请求,只要能发送,就认为 是成功,不会判断返回的结果是否正确,这个时候咱们须要加入 检查点来判断是否正确,经常使用的四种检查点函数有web_find(),web_reg_find(),web_img_check()以及web_global_verification()
 
八、 关联函数是哪一个?为啥要作关联?作关联的步骤是什么? 
 
关联函数有:web_reg_save_param(),Web_reg_save_param_ex(),
所谓的关联就是把脚本中某些写死的(hard-coded)数据,转变成是取自服务器所送的、动态的、每次都不同的数据。若是不作关联的话,会报错
回放脚本发现每次执行到那一步报错,经过观察发现那是一个动态值(须要打开拓展日志)
知道该动态值的左边界固定值与右边界固定值,而后添加关联函数,写入左右边界值,便可成功添加关联,记住关联要放在请求以前
 
九、 参数化的做用是什么?结合场景完成造数据 
实现多个用户使用一套脚本,给服务器形成的事实就是多个用户同时在访问系统,就是并发,实际状况中不少项目是不容许同一个用户登陆屡次的,因此须要参数化,更接近于显示场景
比如对用户的登陆名作参数化,能够先从 数据库中找到登陆用户名,而后参数化的部分右键,而后选择参数化,选择文件参数化,点击确认,最后将数据库用户登陆名拷贝到该参数化文件中
 
十、 当接口里面用到了须要 java 代码实现的签名值(sign),怎么转换成 loadrunner 完成性能测试脚本? 
 
1.在idea工具中新建一个项目lemon1,且建立对应的包为testmd5
2.能够由开发提供算法,以及调用,也能够由开发给算法,本身编写调用方法,本例中为MD5.java,且将文件导入到testmd5下
3.post与get算法封装方法文件,原本中为HttpClientRequest.java,且将文件导入到testmd5下
4.导入包
5.建立主要测试脚本,本例中建立的脚本名字为TestPayPasswdMd5:并对文件进编辑(这一步很关键)
6.打包,将MD5打包成jar文件MD5.jar
7.loadrunner中新建java Vusers协议脚本,导入Run-time Settings 中导入lib包,jdk中dt.jar与tool.jar,以及刚刚打的加密算法jar包
8.将idea工具中刚编写的脚本贴入到Actions文件中
9.再加上if对事务进行判断是否正确
 
十一、 在性能测试过程当中发现了什么问题? 
 
tps低,响应时间高
 
十二、 当发现这些问题的时候,是怎么去定位的?
 
当tps低,响应时间高时,性能数据图标分析(将两个数据组合在一张图标中查看数据):
步骤:
1.查看服务器的资源使用状况,这个时候若是user%CPU高,定位到哪一个进程
2.查看服务器资源的使用状况,发现系统资源占用很低:
        可能的缘由
        1)查看网络状况,最直接的方法:在本机ping服务器地址,如输入:ping 192.168.68.133 -t,看是否存在丢包
            最好在同一个网络端作性能测试,使用千兆网卡
        2)客户端请求有无发出去,本机的性能状况
        3)链接数:分Tomcat应用的链接数,Tomcat链接数据库的链接数以及数据库自己的链接数
第三部分:Linux 
一、 下面哪一个 Linux 命令能够一次显示一页内容?  C
A.pause B. cat C. more D. grep 
备注:page :page不能对文件操做,只有man指令用manpage页面。
          cat :查看文件内容,一次显示所有文件内容。
         more :分页显示文件内容;space翻页。 
         grep :在文件中搜寻与指定字串匹配的行并输出;配合正则表达式和通配符使用。
 
2. 怎么更改一个文件的权限设置?  B
A.attrib B.chmod C. change D.file 
 
3. 下面哪条命令能够把 f1.txt 复制为 f2.txt? C
 A.cp f1.txt | f2.txt B. cat f1.txt|f2.txt C.cat f1.txt>f2.txt D.copy f1.txt | f2.txt 
 
4. 显示一个文件最后几行的命令是? B
A. tac B.tail C.rear D.last 
 
5. 如何切换到用户 make 用户下? B
A.cd @make B.su – make C.su &make D.cd #make 
 
六、如何在文件中查找显示全部以“*”开头的行?  D
A.find \* file   B.wc -l * < file   C.grep -n * file   D.grep ‘^\*’ file 
 
7 . 在 ps 命令中什么参数是用来显示全部用户的进程的? A
 A.a B. b C.u D. x 
 
八、如何删除一个非空子目录/tmp?  B
A.del /tmp/*   B.rm -rf /tmp   C.rm -Ra /tmp/*   D.rm -rf /tmp/* 
 
九、在 Linux 系统中的脚本文件通常以什么开头? B
A.$/bin/sh   B.#!/bin/sh    C. use /bin/sh    D.set shell=/bin/sh 
 
十、在 vi 命令中,先要输入什么进行编辑状态? D
A.b     B.a    C.g    D.i 
 
十一、在 vi 中退出不保存的命令是? D
 A. :q     B. :w    C. :wq     D:q! 
 
十二、在 vi 中退出保存的命令是? C
A. :q   B. :w C. :wq   D:q! 
 
1三、使用什么命令检测基本网络链接? A
A.ping B. route C. netstat D.ifconfig 
 
1四、什么命令解压缩 tar 文件? B
A.tar -zcvf filename.tar.gz B.tar -zxvf filename.tar.gz C.tar -tzvf filename.tar.gz D.tar -dzvf filename.tar.gz 
 
1五、对 top,iostat,vmstat,sar 命令进行解释 
top:命令动态展现系统总体资源和各个进程资源占用状况,是linux下经常使用的性能分析工具
iostat:用于输出CPU和磁盘I/O相关的统计信息
vmstat:命令主要是对操做系统的虚拟内存、进程、I/O读取、CPU活动等总体状况进程统计,可是它不会对某个进程进行深刻分析
sar:主要用于收集并统计系统资源的新秀,包括CPU、I/O、内存、网卡流量等
 
1六、干净的 linux 环境 2 套,能够直接从原来安装好的 Linux 复制出 来一份 
 
已经安装好2个linux
 
1七、在一套上面安装好 Tomcat,而且可以访问好比:输入 ip+默认端 口(8080),看到 Tomcat 欢迎信息 
 
将tomcat压缩包下载到linux系统中,并解压,进入到conf文件夹下修改server.xml,根据须要修改端口,改变端口以后记得在防火墙文件/etc/sysconfig/iptables添加相应端口,并重启防火墙,以后进入tomcat的bin目录,使用./startup.sh
 
1八、在另一套上面安装 MySQL 服务,源码安装,安装包网盘: mysql-5.6.13.tar.gz 1九、安装好 Nginx+Tomcat 集群,而且刷新 ip 地址会访问到不一样的 Tomcat
mysql已经安装成功
Nginx安装成功
两个tomcat启动成功没端口分别是8080和9999,修改了9999对应tomcat下webapps/ROOT/index.jsp文件的以做为区分
<div id="congrats" class="curved container">
    <h2>Hello,Alice.……Tomcat2</h2>
</div>
相关文章
相关标签/搜索