请描述一下性能测试分析思路?

2020-09-10 08:44发布

请描述一下性能测试分析思路?

请描述一下性能测试分析思路?

2条回答
那些年很冒险的梦。
2楼 · 2020-09-10 09:27

影响的主要原因

1.整体系统的CPU利用率

2.内存的利用率

3.磁盘I/O的利用率和延迟

4.网络利用率

因素分析一:cpu

1.cup的执行速度和性能的好坏很大程度上决定了系统整体的性能快慢,在做系统分析性能分析前,首先要了解系统处理器的情况:逻辑处理器,处理器型号,主频率,chache大小,是否支持超线程技术等信息。

2.cpu的利用率也是很重要的关注指标,当cpu处于满负载的状态时,需要结合系统附带的一些监控分析工具,检查相关的日志系统,web服务器应用的日志,db日志等,结合辅助命令top,free,uptime,sar等辅助分析cpu为什么完全被占用,从而更好找到优化的方法。

3.应用监控工具,Java程序可以通过JVM自带命令工具(jstat,jmap,Jvisualvm,JConsole),MySql通过数据库监控工具(Spotlight,Monyog,以及命令行工具)来分析

因素分析二:内存

内存的大小也是影响系统性能的一个非常核心的指标,当内存太小,系统进程将会被阻塞,应用也会变得缓慢,有时候会失去响应或者触发OOM(内存溢出)从而引起应用程序被系统给杀死或者会引起系统的重启,这是时候可以做一些缓存服务器去提升体统的性能。

虚拟内存也是要考虑的一个因素,当系统的物理内存不够的时候,需要将物理内存中的一部分空间释放,临时保存到虚拟空间中,等程序运行的时候,在从虚拟内存中恢复和保存的物理内存中,这样当物理内存不够时,才能进行内存的交换。之前物理内存较小的情况下,一般建议是虚拟内存是物理内存的两倍,现在物理内存都较大,设置成两倍就有点浪费空间了。

可以使用top,free等获取系统内存使用数据

因素分析三:网络

需要考虑对应的网络是否可达,防火墙是否开启,端口的访问,带宽是否有被限制,路由的寻址,网络延时问题

因素分析四:I/O

访问中离不来系统的磁盘数据读写,I/O读写的性能会直接影响系统的性能,磁盘I/O是系统中最慢的部分,当I/O读写频繁时候,如果I/O得不到满足就会到导致应用的阻塞。针对I/O的场景模型,需要考虑IO的tps,平均I/O数据,平均队列长度,平均服务时间,IO利用率等指标

总结:

在性能测试的时候,这些单个因素之间彼此会互相影响互相依赖的,任何处在一个高负载的状态中,都可能导致其他资源受影响,比如1.大量的网络吞吐会导致CPU的资源增大,此时系统要分出去部分资源去进行软件中断处理 2.大量的CPU开销会尝试更多的内存使用,所以在进行系统优化查找瓶颈的真正所在是十分关键的,看似某一个资源处先问题,很有可能是其他原因导致的,可以通过vmstat命令进行资源的监控分析

我们需要确定应用类型并且分析当前的系统特点,多数系统对应的应用类型主要分为两类:

IO Bound(IO范畴):IO范畴的应用通常使用cpu资源都是为了产生IO请求以及进入到内核调度的sleep状态。通常数据库软件(mysql,orcle等)被认为是IO范畴的应用类型

CPU Bound(CPU 范畴):一般都是高负荷的cpu占用,CPU范畴的应用就是一个批量处理CPU请求以及数学计算的过程,通常是web server,mail server以及其他类型服务被任务是cpu范畴的应用类型。

系统的分析思路两种:自定向下,由应用程序往下分析;另一种是由底面向上,从操作系统资源往上分析到应用程序。



是你的小甜心呀
3楼 · 2020-09-10 09:42

1、项目具体需求及测试范围:测哪些功能,哪些接口,存在哪些场景。


2、指标:响应时间,并发数,tps,总tps,稳定性交易总量多少,事务成功率,交易波动范围,稳定运行时长,资源利用率等


3、环境:生产环境服务器数量,测试环境服务器数量,按照资源配比得出测试指标。


4、协议:系统用什么协议进行通讯。


5、压力机数量:如果并发用户数太多,需要把压力发到不同的压力机,不然可能会存在压力机瓶颈问题,导致tps和响应时间抖动。


6、交易占比:分析线上日志得出tps占比。


7、系统架构:请求流经过哪些环节,压测时监控这些环节。

 


相关问题推荐

  • 回答 20
    已采纳

    性能测试是基于功能、接口完整的情况下,对服务端进行压力测试、负载测试、疲劳测试、并发测试,来发现性能瓶颈。一、负载测试。负载测试的目的主要是为了测试软件系统是否达到需求文档设计的目标;例如一款软件在一定时期内,最大支持多少并发用户数,软件请...

  • 什么是基准测试?2020-08-12 15:46
    回答 4

    基准测试基准测试(benchmarking)是一种测量和评估软件性能指标的活动。在某个时候通过基准测试建立一个已知的性能水平(称为基准线),当系统的软硬件环境发生变化之后再进行一次基准测试以确定那些变化对性能的影响,这是基准测试最常见的用途。其他用途包...

  • 回答 5

    一、平均响应时间:在每一个采样时间段,多个并发事务的平均响应时间;二、百分比响应时间:在某次测试中,有百分之y的请求,其响应时间在x秒以内;三、每秒事务数:针对每个选定的事务,在并发场景下,平均每秒服务器能处理完成多少次;四、Throuput:每秒从...

  • 回答 17
    已采纳

    响应时间、并发用户数、TPS、吞吐量、CPU利用率、内存使用率、在线并发用户数等

  • 回答 6

    计算机的性能测试时我们需要关注的指标有: RT:响应时间 TPS:每秒完成事务数CPU性能指标:利用率、负载 Mem:内存性能指标,可用物理内存、虚拟内存使用率 Disk:磁盘性能指标,Disk Time、IO等待 NetWork:网络指标,带宽使用率、任务队列长度TCP连接数,...

  • 回答 13
    已采纳

    性能测试主要包括以上几个方面

  • 回答 9

    在测试前,应该对测试结果有一个初步的估计。比如,性能(IO/CPU)应该是提升,还是降低,大概幅度会有多少。这样当测试结果与预估偏差极远时,很可能测试的过程或者方法是有问题的。1) 如果是已有模块,可以参考改模块历史的测试数据。看变化是否合理。2)...

  • 回答 9

    UI主要是软件的使用和操作,软件测试需要验证程序中的问题,好学不好学还是要看你是不是擅长程序,如果擅长那就好学,如果不擅长那就是UI好学

  • 回答 16

    一般在系统功能稳定没有大的缺陷之后开始执行。但前期准备工作可以从系统需求分析时就开始:性能目标制定、场景获取、环境申请等。

  • 回答 4

    性能测试的目的: 评估系统的能力----测试中得到的负荷和响应时间数据可被用于验证所计划的模型的能力,并帮助作出决策。识别体系中的弱点----受控的负荷被增加到一个极端水平,并突破它,从而修复体系的瓶颈或薄弱的地方。系统调优---重复运行测试,验证调...

  • 回答 4
    已采纳

    LoadRunner 是一种预测系统行为和性能的工业标准级负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。通过使用LoadRunner , 企业能最大限度地缩短测试时间, 优化性能和加速应...

  • 回答 3

    手工测试者最适合成为领域专家,他们可以把相当复杂的业务逻辑存在最强力的测试工具——大脑里。而且手工测试速度比较慢,测试者就有时间可以观察分析细微的逻辑问题。速度虽然慢些,但是比较容易。...

  • 回答 8

    前言1.需要写明本文当编写的目的,是给那些人看的,能起到怎样的作用。2.本文档中出现的专业术语需要有个解释,非软件测试的人员能看懂。3.参考资料,也是我们编写测试计划的依据,说明你这个测试计划不是凭空而来。4.测试模块的优先级别,可以从这里看出系统...

没有解决我的问题,去提问