简谈性能测试

 

性能测试(Performance Test)

经过测试工具和测试手段,监测和收集测试过程当中的软件系统运行数据,度量系统与预约义目标的差距。而预约义目标就是经过性能需求来表示。服务器

监测和收集:并发

1. 收集,根据项目历史数据,或者根据经验工具

2. 分析,好比业务人员不少,底层到中层、再到高层。性能

可能存在的问题:测试

  • 性能问题还存在能够细分一下是场景遗漏、仍是数据遗漏。场景遗漏经常因为需求传递变味致使。
  • 处理方法。 作好策略和设计,若是针对如今的问题:能够作一个checklist不断优化你的策略设计能力。
  • 分析历史数据、竞品、业务。业务须要分析业务常见、业务高峰(大的时间和小的时间段)

负载测试(Load Test)

负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否可以承担。经过逐步增长系统负载,肯定在知足性能指标的状况下,系统所能承受的最大负载量。优化

压力测试(Stress Test)

压力测试是一种高负载下的负载测试,也就是说被系统处于一个负载的状况,再继续对他进行加压,造成双重负载,直到系统崩溃,并关注崩溃后系统的恢复能力,之前再加压的一个过程,看看系统究竟是否已经被完全破坏掉了。spa

持续压力:有个很形象的说法就是:你可以承担100千克的重量,并且也能走,可是你可否承担100千克的重量行走1个月。设计

外部的负载叫压力,内部的压力叫负载。负载注重关注内部的以及系统自身一些状况;而压力更关注系统外部的表象.orm

性能测试模型

性能测试的执行过程是由轻到重,逐渐对系统施压。一般用户最关心的性能指标包括:响应时间、吞吐量、资源利用率和最大用户数。咱们能够将这张图分红3个区域,即:轻负载区域、重负载区域和负载失效区域。资源

  • 轻负载区域
    在这个区域您能够看到随着虚拟用户数量的增长,系统资源利用率和吞吐量也随之增长,而响应时间没有特别明显的变化;

  • 重负载区域
    在这个区域您能够发现随着虚拟用户数量的增长,系统资源利用率随之缓慢增长,吞吐量开始也缓慢增长,随着虚拟用户数量的增加,资源利用率保持相对的稳定(知足系统资源利用率指标),吞吐量也基本保持平稳,后续则略有下降,但幅度不大,响应时间会有相对较大幅度的增加;

  • 负载失效区域
    在这个区域系统资源利用率随之增长并达到饱和,如CPU利用率达到95%甚至100%,并长时间保持该状态,而吞吐量急剧降低和响应时间大幅度增加(即:出现拐点)。

  • 两个交界点
    在轻负载区域和重负载区域交界处的用户数,咱们称为"最佳用户数"。而重负载区域和负载失效区域交界处的用户数则称为"最大用户数"。

总结:

  • 当系统的负载等于最佳用户数时,系统的总体效率最高,系统资源利用率适中,用户请求可以获得快速响应;
  • 当系统负载处于最佳用户数和最大用户数之间时,系统能够继续工做,可是响应时间开始变长,系统资源利用率较高,并持续保持该状态,若是负载一直持续,将最终会致使少许用户没法忍受而放弃;
  • 而当系统负载大于最大用户数时,将会致使较多用户因没法忍受超长的等待而放弃使用系统,有时甚至会出现系统崩溃,而没法响应用户请求的状况发生。

并发

相对并发

 即在线用户数,在一个时间段内,与服务器进行了交互、对服务器产生了压力的用户的数量。这个时间段,能够是一天,也能够是一个小时。

并发与并行是相关的概念,可是也有不少细节上的差别。并发意味着两个或更多的任务正在取得进展,即便它们不是同时执行的。例如,能够用时间片的方式实现这一点,每一个任务在时间片内执行一小部分,并与其它任务的切片混合执行。如并发收集器。并行的出现使任务实现了真正的同时执行。

绝对并发

 主要是针对某一个操做进行测试,即多个用户同一时刻发起相同请求

相关文章
相关标签/搜索