| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> 性能测试面试题 -> 正文阅读 |
|
[开发测试]性能测试面试题 |
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、高并发下需要注意哪些
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监控怎么分析定位 |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/18 5:26:04- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |