性能测试关键概念
性能测试的含义
测试软件的性能表现,考量软件运行的如何。
一般关注时间/效率、资源占用等情况。
响应时间
应用系统从用户发出请求开始,到客户端接收到所有数据所消耗的时间。
网页响应时间可以细分为网络传输时间、DNS解析时间、应用服务器处理时间、数据库处理时间等。
在线用户、并发用户与虚拟用户
在线用户表示正在使用软件的用户。
并发用户是指同一时刻与服务器进行数据交互的所有用户数量,在线用户未必是并发用户。
性能测试工具使用虚拟用户模拟真实用户的行为。
吞吐量与吞吐率
吞吐量指一段时间内服务器处理的总字节数。
吞吐率指单位时间内服务器处理的字节数,即吞吐量/测试时间。
每秒事务数TPS
表示每秒系统处理的事务数。
点击率
指每秒钟用户向服务器提交的HTTP请求的数量。点击一次可能会向服务器发出多个HTTP请求。
思考时间/休眠时间/等待时间
指用户在进行操作时,每个请求之间的时间间隔。
资源利用率与性能计数器
资源利用率指服务器系统中不同硬件资源被占用的程度,主要包括CPU利用率、内存利用率、磁盘利用率、网络等。
性能计数器是描述服务器或操作系统性能的一些数据指标。主要是通过添加计数器来观察系统资源的使用情况。
负载测试、压力测试与并发测试
负载测试通过对被测试系统不断的加压,直到超过预定的指标或者部分资源已经达到了一种饱和状态不能再加压为止。此方法主要是为了寻找系统最大的负载能力,为性能调优提供依据。
压力测试是当系统已经达到一定的饱和程度(如CPU、磁盘等已经处于一种饱和状态)时,测试系统处理业务的能力,测试系统是否会出现崩溃等。此方法一般用于系统稳定性测试。
并发测试通过模拟用户并发访问,测试多用户同时访问同一应用、模块或数据,观察系统是否存在死锁、系统处理速度明显下降等性能问题。
web访问原理
http状态响应码
状态码由3位数字组成,第一位表示响应的类别。lxx:指示信息,表示请求已接收,继续处理。
2xx:成功,表示请求已被成功接收、理解、接受。
3xxX:重定向,要完成请求必须进行进一步的操作。
4xx:4开头的代表客户错误。
403错误
表示资源不可用,服务器上文件或目录拒绝访问。服务器理解客户的请求,但拒绝处理它,通常由于服务器上文件或目录的权限设置导致的WEB 访问错误。
404错误
告诉浏览者其所请求的页面不存在或链接错误,同时引导用户使用网站其他页面而不是关闭窗口离开。404错误信息通常是在目标页面被更改或移除,或客户端输入页面地址错误后显示的页面。
5xx:5开头代表服务器端错误。
一般的产生原因是由于服务器不支持的组件而出错。
loadrunner的安装、汉化、破解
三大组件
VuGen(虚拟用户发生器)
Virtual User Generator
虚拟用户VU用于户模拟真实用户,被测服务器会认为与真实用户一样。
VUGen用于捕捉用户的业务流,并录制成脚本(虚拟用户脚本)。Vuser脚本记录了用户的动作,并且包含一系列度量并记录服务器性能的函数,从而方便计算性能指标,就像一个真实的用户一边做操作,一边拿着秒表记录时间一样。
Controller(控制器)
Controller负责生成性能测试场景,管理和协调多个虚拟用户,将任务分派给各个Load Generator运行测试,联机监测监控场景(软件系统各个节点的性能),收集结果数据。
场景(Scenario)
把虚拟用户按照一定规则组织起来模拟真实世界的业务行为。Load Generator(负载机)
用于实现均衡负载。
Controller分发脚本,Load Generator负责实施执行。
一台机器上安装了LoadRunner后,就自动安装了Load Generator 。
通常需要多台Load Generator
多台Load Generator负责执行脚本,运行场景。
Agent(代理程序)
部署在各个客户端,协同得到步调一致的虚拟用户;
在Load Generator 中,各物理机要能接收到Controller 发来的脚本,Agent负责实时侦听来自控制器的指令,以达到协调各压力生成器中拟用户的作用。
Analysis(分析器)
测试场景运行结束后,会在指定目录下生成一个Access数据库文件,用于存放测试结果。
分析器可以对数据进行分析,并生成图形。
使用流程
了解软件需求
指定测试许划
录制脚本
增强脚本
场景设计
运行场景
分析结果