Jmeter的性能测试

发表于:2018-10-10 13:28  作者:我为峰2014   来源:简书

字体: | 上一篇 | 下一篇 |我要投稿 | 推荐标签: 性能测试

  性能测试的概念
  定义:软件的性能是软件的一种非功能特性,它关注的不是软件是否能够完成特定的功能,而是在完成该功能时展示出来的及时性。
  由定义可知性能关注的是软件的非功能特性,所以一般来说性能测试介入的时机是在功能测试完成之后。在系统基础功能测试验证完成、系统趋于稳定的情况下,才会进行性能测试,否则性能测试是无意义的。另外,由定义中的及时性可知性能也是一种指标,可以用时间或其它指标来衡量,通常我们会使用某些工具或手段来检测软件的某些指标是否达到了要求,这就是性能测试。
  性能测试定义:指通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
  性能测试类型
   
   
  性能测试应用场景(领域)
  性能测试应用场景(领域)主要有:
  能力验证、规划能力、性能调优、缺陷发现、性能基准比较,
  下表简单介绍和对比了这几个场景的各自用途和特点:
  
  下表为性能测试应用领域与测试方法关联:
  
  性能测试常用的指标
  1、响应时间(Response Time)
  定义:从用户发送一个请求到用户接收到服务器返回的响应数据这段时间就是响应时间
  计算方法:Response time = (网络时间 + 应用程序处理时间)
  合理的响应时间 2/5/10 (2秒之内给客户响应被用户认为是非常有吸引力的,5秒之内,比较糟糕,10秒之内,糟糕的用户体验,超过10秒,请求失败)
  响应时间-负载对应关系:
  
  图中拐点说明:
  1、响应时间突然增加
  2、意味着系统的一种或多种资源利用达到的极限
  3、通常可以利用拐点来进行性能测试分析与定位
  2、吞吐量
  定义:单位时间内系统处理的客户端请求的数量
  计算方法:Throughput = (number of requests) / (total time)
  吞吐量-负载对应关系:
  ①上升阶段:吞吐量随着负载的增加而增加,吞吐量和负载成正比;
  ②平稳阶段:吞吐量随着负载的增加而保持稳定,无太大变化或波动;
  ③下降阶段:吞吐量随着负载的增加而下降,吞吐量和负载成反比;
  
  a1面积越大,说明系统的性能能力越强,a2面积越大,说明系统稳定性越好,a3面积越大,说明系统的容错能力越好
  吞吐率
  吞吐量/传输时间,即单位时间内网络上传输的数据量,也可以指单位时间内处理客户请求数量,它是衡量网络性能的重要指标。
  通常情况下,吞吐率用“字节数/秒”来衡量,当然,也可以用“请求数/秒”和“页面数/秒”来衡量;
  3、并发数
  ①狭义上的并发:所有用户在同一时间点进行同样的操作,一般指同一类型的业务场景,比如1000个用户同时登陆系统;
  ②广义上的并发:多个用户与系统发生了交互,这些业务场景可以是相同的也可以是不同的,交叉请求和处理较多;
  4、资源利用率
  资源指标与硬件资源消耗直接相关,而系统指标则与用户场景及需求直接相关:
  
  资源指标:
  CPU使用率:指用户进程与系统进程消耗的CPU时间百分比,长时间情况下,一般可接受上限不超过85%;
  内存利用率:内存利用率=(1-空闲内存/总内存大小)*100%,一般至少有10%可用内存,内存使用率可接受上限为85%;
  磁盘I/O: 磁盘主要用于存取数据,因此当说到IO操作的时候,就会存在两种相对应的操作,存数据的时候对应的是写IO操作,取数据的时候对应的是是读IO操作,一般使用% Disk Time(磁盘用于读写操作所占用的时间百分比)度量磁盘读写性能;
  网络带宽:一般使用计数器Bytes Total/sec来度量,其表示为发送和接收字节的速率,包括帧字符在内;判断网络连接速度是否是瓶颈,可以用该计数器的值和目前网络的带宽比较;
  系统指标:
  并发用户数:单位时间内与系统发生交互的用户数;
  在线用户数:某段时间内访问系统的用户数,这些用户并不一定同时向系统提交请求;
  平均响应时间:系统处理事务的响应时间的平均值;事务的响应时间是从客户端提交访问请求到客户端接收到服务器响应所消耗的时间;
  事务成功率:性能测试中,定义事务用于度量一个或者多个业务流程的性能指标,如用户登录、保存订单、提交订单操作均可定义为事务,单位时间内系统可以成功完成多少个定义的事务,在一定程度上反应了系统的处理能力,一般以事务成功率来度量;
  超时错误率:主要指事务由于超时或系统内部其它错误导致失败占总事务的比率;
  资源利用-负载对应关系:
  
  图中拐点说明:
  1、服务器某件资源使用逐渐达到饱和
  2、通常可以利用拐点来进行性能测试分析与定位
  5、其它常用概念:
  TPS
  Transaction Per Second:每秒事务数,指服务器在单位时间内(秒)可以处理的事务数量,一般以request/second为单位;
  QPS是查询,而TPS是事务,事务是查询的入口,也包含其他类型的业务场景,因此QPS应该是TPS的子集!
  QPS
  Query Per Second:每秒查询率,指服务器在单位时间内(秒)处理的查询请求速率;
  TPS和QPS都是衡量系统处理能力的重要指标,一般和并发结合起来判断系统的处理能力;
  Thinking Time
  思考时间,在性能测试中,模拟用户的真实操作场景。用户操作的事务与事务之间是有一定间隔的,此时间内是不对服务器产生压力的,引入这个概念是为了并发测试(有交叉业务场景)时,业务场景比率更符合真实业务场景;
  PV
  Page View:页面浏览量,通常是衡量一个页面甚至网站流量的重要指标;
  细分的话,有独立访问者数量、重复访问者数量、单独页面访问数量、用户停留时间等类型;
  RT/ART
  Response Time/average Response Time:响应时间/平均响应时间,指一个事务花费多长时间完成;
  一般来说,性能测试中平均响应时间更有代表意义。细分的话,还有最小最大响应时间,50%、90%用户响应时间等;
  性能测试流程
   

    上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。

【直播预售】接口测试行业大佬带你从青铜上王者>>立即查看
21/212>

评 论

论坛新帖

顶部 底部


建议使用IE 6.0以上浏览器,800×600以上分辨率,法律顾问:上海瀛东律师事务所 张楠律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2018, 沪ICP备05003035号
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪公网安备 31010102002173号

51Testing官方微信

51Testing官方微博

扫一扫 测试知识全知道