5.19-性能测试(二)

(面试)性能测试你测什么?关注的点是什么?

程序响应时间 ,系统吞吐量,并发用户数,tps,qps,DB的IOPS,和服务器的系统资源(CPU和内存)

通过工具或代码来验证被测试的程序是否满足性能测试的目标,验证程序是否会出现OOM,系统崩溃,系统无响应等情况(举例西安一码通崩溃)

工作流程:目标 、怎么去做 、过程中需要收集数据 、结论

主流MQ消息队列服务器:Kafka、rabbitMQ

Kafka:由领英公司研发,性能极好主要应用于大数据,在数据实施流要求很高,但在数据一致性上做的很薄弱

rabbitMQ:仅对数据一致性要求很高

性能测试模型(性能测试)步骤:

测试前期准备

(面试)性能测试中,开发说要要添加服务器性能测试才能继续,此时?

在性能测试过程中,原则是测试环境的资源配置(服务器)与生产环境的资源配置(服务器)必须一致的。如果要增加服务器得两个环境同时增加。

1.梳理性能测试目标。参考历史数据,目标由测试主导梳理,项目成员会议沟通决定结果

2.梳理测试场景准备测试数据

3.准备人力和机器资源

测试工具技术引入

1.LoadRunner:由HP公司研发,在工业级性能测试中具备极好优势。(付费)

2.JMeter: Apache顶级项目,100%Java语言开发,在头部互联网公司都进行二次开发,应用广泛(开源)

3.Locust :Python代码性能测试工具,基于协程(微小的线程)

性能测试计划:

1.测试场景负责人及周期时间 2.前期准备工作 3.使用的测试技术

测试设计与开发

编写测试脚本,执行验证具体的测试场景

测试执行与管理,数据收集

1.脚本编写会执行并验证测试场景

2.收集数据(性能计数器)

A、服务器系统资源:CPU和Memory

B、DB的资源:IOPS,连接数

C、服务资源:响应时间(最大,最小,平均,中位数(50%),90%,95%,99%),吞吐量,并发数

3.数据收集思路:把数据写到InfluxDB(时序数据库),展示在Grafana

(面试)针对一码通系统需要做并发测试,目标数据是每秒并发15万,那5万、10万、15万需要测吗?要

测试分析

结合收集数据分析是否和最初制定的性能测试目标吻合,如果达到目标则输出性能测试报告;反之,开发继续调整优化测试并继续测试

JVM监控工具

控制台输入jvisualvm验证Java环境是否配好

 

验收负载测试

在QA(测试环境)的模拟生产运行的业务压力和使用场景组合,测试系统的性能是否满足生产环境的性能诉求。

比如西安一码通模拟测试15万人并且增加到25万人

负载测试

在被测系统上持续不断的增加压力,直到性能指标(响应时间等)超过预定指标或者某种资源(CPU&内存)使用已达到饱和状态。核心是找到系统的处理极限,为系统调优提供数据,从而达到了解系统性能的容量。

压力测试

系统在一定饱和状态下,具体如CPU,内存等饱和使用的情况下,系统能够处理的会话能力,以及系统是否会出现错误,比如TimeOut,OOM,OverStackExpection(堆栈溢出)。

特点:

• 检查系统在处于压力情况下时应用的性能表现

• 等价于负载测试,使系统的资源处于一个瓶颈的状态(建议CPU和内存在75%以上)

• 这种方式一般用于测试系统的稳定性

系统的稳定性:被测系统在系统资源饱和的状态下,依然能够很好的处理系统的业务逻辑

配置测试

被测环境软硬件环境参数的调整,达到最优的分配原则。

并发测试

模拟用户的并发访问,测试多用户并发访问同一个应用时是否存在死锁或者其他的问题。

特点:

• 发现系统中可能隐藏的并发访问的问题

• 关注系统可能存在的并发问题,如内存泄露,线程锁,资源争用情况

• 使用的测试工具如profiler等

可靠性测试 给系统加载一定的业务压力,让应用持续运行一段时间,测试系统在这种条件下是否能稳定运行。

被测对象是服务,服务提供接口,访问接口可以测服务

配置Jmeter环境变量

把JMeter里bin目录放到环境变量path里

配置后控制台输入jmeter -v 验证 。成功显示:Apache JMeter

 

1、怎么区分负载测试与压力测试

负载测试是尽量增加对系统的访问,而压力测试是尽量使系统在资源稀缺的环境下运行

负载:数据在超负荷环境中运行,程序是否能够承担。是测试软件本身最大所能承受的性能测试,负载关注点:多少;性能关注点:多少,多快

压力:在一定的负荷条件下,长时间连续运行系统给系统性能造成的影响。是一种破坏性的性能测试

2、怎么理解系统稳定性测试

在配置完整正确且有一定压力的情况下,测试功能稳定性的出错概率,以减少系统或软件崩溃

3、如果做性能测试过程中,开发要求增加服务器,此时你会?

性能测试中,测试环境与生产环境的资源配置(服务器)必须一致。如果要增加服务器得两个环境同时增加。

4、做性能测试需要准备哪些工作,为什么?

了解客户需求、测试场景梳理、人力和机器配置、测试数据准备

5、性能测试中测试环境和生产环境的配置必须一样嘛?为什么?

是的,有效避免漏测

6.性能测试工具

JMeter、LoadRunner、Locust、JVM监控工具

 

原文链接:https://www.cnblogs.com/yvonnej/p/16289467.html

原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/33118

(0)
上一篇 2025年1月21日
下一篇 2025年1月22日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

优速盾注册领取大礼包www.cdnb.net
/sitemap.xml