性能测试Loaderrunner

目录

一、性能测试概念

1.1为什么进行性能测试:

1.2系统性能测试流程

1.3如何确定性能测试需求——>确定性能测试指标

二、衡量软件性能的四个维度:

三、性能测试指标

3.1并发数

3.2响应时间

四、性能测试方法介绍

(1)基准测试

(2)并发测试

(3)压力测试

(4)配置测试

(5)可靠性测试


一、性能测试概念

性能测试:通过自动化的测试工具模拟多种正常、峰值以及异常负载条件,来对系统的各项性能指标进行测试。

对软件系统而言, 系统性能包括:执行效率、资源占用、稳定性、安全性、兼容性、可扩展性、可靠性等等。

性能指标:可能包括系统各个方面的能力,如系统并发处理能力,系统响应时间,批量业务处理能
力等等。

常见的性能问题:

资源泄露、系统的内存泄露、线程阻塞、死锁、查询速度越来越慢,列表展示越来越多、CPU占用达到100%(最多只能占用70%)

1.1为什么进行性能测试:

  • 进行基准的性能测试,获取系统性能的基准性能指标
  • 测试系统是否满足了系统的性能需求(用户期望的性能)
  • 系统是否可以处理预期的并发用户数量并且又盈余能力
  • 系统是否可以达到要求的性能指标
  • 系统是否可以处理预期的事务(数据库中的事务)数量(事务的特性:一致性、原子性、隔离性、持久性)
  • 在预期和非预期的用户数量下,都可以稳定运行
  • 系统在任何情况下都可以有良好的体验
  • 当系统出现性能测试时,可以找出系统的瓶颈(如内存泄漏等)
  • 系统正常工作情况下的最大容量
  • 帮助系统运维部门更好的规划硬件配置

1.2系统性能测试流程

  • 了解系统性能测试的需求
  • 根据系统性能需求,分析系统性能指标要求(必须量化出来)
  • 根据系统性能需求,分析出进行性能测试的类型,确定性能测试场景(一般在Loadrunner中完成)
  • 运行性能测试场景,得出性能测试报告
  • 根据性能测试报告,找出系统性能瓶颈

1.3如何确定性能测试需求——>确定性能测试指标

        1) 关键性能指标分析

量化分析:

  • 同一时刻支持200w用户同时在线,支持至少200w用户的并发量(增删查改操作),响应时间低于1s
  • 每天支持2000w次交易(早八晚2),推出每秒支持309次交易
  • 高峰期:支持600w用户同时在线,响应时间3s内,
  • 交易成功率:HTTP请求的成功率

         2)关键业务分析

  • 用户频繁使用的业务:如淘宝APP(首页搜索功能、收藏加购操作)
  • 计算量大的业务:支付功能

二、衡量软件性能的四个维度:

性能测试Loaderrunner_第1张图片

 (1)软件开发人员

系统架构(框架是否合理,是否有利于后续开发)、算法效率、系统资源分配不合理的问题、并发设计是否合理、数据库设计是否合理

(2)运维人员

系统的容量、系统长期稳定运行、服务器及各种资源分配是否合理

(3)用户

用户体验:响应时间快、稳定

(4)性能测试人员

以上问题全都考虑

性能测试不是独立于功能测试之外的,在功能测试稳定之后进行系统性能测试

三、性能测试指标

3.1并发数

  1. 系统用户数:该系统的注册用户数。例如,BestTest论坛里存在6666个注册用户,他们可以是活跃的,也可以是僵尸的。
  2. 在线用户数:登录系统的用户。例如,其中有666个用户的状态为在线,但在线用户并不一定都会对服务器产生压力,因为有的用户登录后什么都不干。
  3. 并发用户数:对服务器产生压力的用户。例如,可能在线的666个用户中,只有20%的用户对服务器产生了压力,这20%的用户数就是并发用户数。
  4. 业务层的并发数:同一时刻向服务器发送请求的用户数量
  5. 后端服务层的并发数:同一时刻向后台服务发送请求的数量

严格意义的并发用户数:同一时间进行同一个操作的用户数

(1)并发数的估算

1)平均并发用户数: C = nL/T
2)并发用户数峰值: C' = C + 3*根号C
C是平均并发用户数,n是login session的数量,L是login session的平均长度,T是值考察的时间长度C'是并发用户数峰值


举例1:假设系统A,该系统有3000个用户,平均每天大概有400个用户要访问该系统(可以从系统日志从获得),对于一个典型用户来说,一天之内用户从登陆到退出的平均时间为4小时,而在一天之内,用户只有在8小时之内会使用该系统。那么:
平均并发用户数为:C = 400*4/8 = 200
并发用户数峰值为:C' = 200 + 3*根号200 = 243

3.2响应时间

性能测试Loaderrunner_第2张图片

响应时间分为:前端展示时间、系统响应时间

前端展示时间:用户发出请求,到前端页面所耗费的时间

系统响应时间:分为web服务器、应用服务器、数据库服务器等各种服务器之间通信和处理请求的时间

(1)事务的响应时间

服务器处理完一个事务所需要的平均时间

(2)平均每秒处理的事务数

服务器平均每秒处理多少个事务,衡量系统关键性能指标(TPS:Transaction Per Second)

(3)点击率(HTTP Per Second)

每秒处理的HTTP请求个数

(4)吞吐量:服务器单位时间处理的信息(HPS TPS   bytes/s)

(5)思考时间

(6)资源利用率:系统运行时,占用资源的情况(CPU、内存、硬盘、网络等)

四、性能测试方法介绍

(1)基准测试

对于一个全新的系统,需要了解系统的性能,就需基准测试,获取系统的性能指标;提高系统的性能指标。或者评估新开发的功能对系统的影响的时候,需要基准性能指标做参考

(2)并发测试

同一时刻向系统服务器发送请求,看在并发情况下系统的性能表现:是否出现资源竞争不合理、内存泄漏、死锁等性能问题

(3)压力测试

一般指后端服务器压力,不断给服务器施加压力(增加请求数量),看系统处于临界饱和情况下,服务器中各个性能指标是否在正常范围内,是否出现性能测试问题。超过系统实际并发数

(4)配置测试

测试系统在不同软硬件环境的配置下,系统的性能表现,找出适合系统运行的软硬件环境配置,常见的如:操作系统、JVM版本、服务器指标、数据库、网络、内存等配置。

(5)可靠性测试

并发情况下,长时间运行系统(24h、一周、一月),看系统指标是否稳定、是否出现性能问题。此处考虑的是系统实际并发数的60%~70%

五、Loaderunner安装及使用

5.1基本概念

LoadRunner是一种适用于许多软件体系架构的自动负载测试工具,从用户关注的响应时间、吞吐量,并发用户和性能计数器等方面来衡量系统的性能表现,辅助用户进行系统性能的优化。

  • Scenatio:性能测试场景,可以录制脚本。在每一个测试过程中发生的事件。
  • Vusers:虚拟用户 。LoadRunner使用多线程或多进程来模拟用户对应用程序操作时产生的压力。一个场景可能包括多个虚拟用户,甚至成千上万个虚拟用户。
  • Vuser Script:脚本。描述Vuser在场景中执行的动作
  • Transactions:事务。事务代表了用户的某个业务过程,需要衡量这些业务过程的性能。
  • rendevous:集合 并发要求多用户同一时刻开始执行某一操作

  5.2Loaderunner性能测试过程

性能测试Loaderrunner_第3张图片

 

你可能感兴趣的:(测试工具)