[TOC]
性能需求如何决定
1、必须指出是基于怎样的硬件配置
2、必须有明确的数字
3、合理、有实际意义、有根据
4、来源包括但不限于:
1)客户决定/开发决策团队决定
2)参考历史项目的数据
3)参考竞争对手的性能指标
4)参考类似行业的数据
5)参考社会资讯,如新闻、市场调研结论等
实际的性能测试点如何考虑
1、性能测试场景
2、选用适当的工具
3、来源于对真实情况的调研、估计和猜想
4、抓住系统的核心业务作为测试重点
5、测试单种业务的情况
6、考虑每种业务中,具体最小、最大负荷的情况
7、考虑多业务并行的情况
8、分析系统的架构、尽量构造出对每个关键模块的压力
常见的性能瓶颈所在
1、核心业务的软件模块
2、编程上的不合理,导致运算量过大,等待时间过长,或者系统的交互次数过多,交互数据过大
3、硬件上的资源(内存、内存带宽、磁盘、读写带宽、网络带宽、专有处理器)
4、架构中的单一关键点拥塞
5、软件上的故意设置
6、主观感受的影响
性能测试的实际过程
1、选择适当的工具
2、选择适当的性能测试场景
3、构建适当的基础数据库
4、观测并记录系统各部件的状态
5、保存充分的日志
6、发现瓶颈->开发调优->发现另一个瓶颈->继续调优
性能测试相关指标
1、响应时间:从用户点击到用户得到需要的响应内容,所经过的时间
2、并发用户数:指同一时刻与服务器进行数据交互的所有用户数量
3、吞吐量:单位时间内系统处理客户请求的数量,其直接体现系统的承载能力(作为性能测试时主要关注的一个指标)
F=吞吐量
VU=虚拟用户个数
R=每个虚拟用户发出请求(单击)数量
T=表示性能测试所用的时间
计算公式:F = VU * R / T
4、吞吐率:单位时间内的数据传输量,即: 吞吐量/传输时间
单位时间内处理的客户请求数,吞吐率越大表示系统的负载能力越强
5、TPS (transaction per second) 每秒事物处理量:每秒系统处理的事物数,是衡量系统处理能力的重要指标,在loadrunner中一定要分析的一个指标
TPS = 并发数/平均响应时间
6、点击率:指每秒钟用户向web服务器提交的HTTP的数量
7、资源利用率:系统资源被占用的情况,主要包括:CPU利用率、内存利用率、磁盘利用率、网络等
8、性能计数器:是描述服务器或操作系统性能的一些数据指标,主要通过添加计数器来观察系统资源的使用情况
9、平均并发用户数
C = nL/T
其中
C:平均的并发用户数;
n:平均每天访问用户数(login session的数量);
L:一天内用户从登录到退出的平均时间(login session的平均长度);
T:考察的时间段长度(一天内多长时间有用户使用系统);
在现实世界里,登陆的用户是按照以下的方式运作的:
1、沉睡状态 -- 在非工作时间不登陆;
2、片刻状态(上升) -- 开始工作的时候,人们开始登录系统;在线的数量不断增加;
3、稳定期 -- 在线的用户数保持稳定;
4、片刻状态(回落) -- 工作时间结束;人们退出系统;在线人数减少;
我们要更精确预估高峰期并发用户数,应该遵循下面的步骤:
1、根据经验来估计稳定期的时间段;
2、估计在稳定期的登录用户数;
3、根据公式计算平均并发用户数;
4、运用公式计算高峰并发用户数;
性能测试划分
负载、压力测试主要包括:并发用户数、可持续运行时间、数据大量测试、疲劳强度测试
1、负载测试:给测试系统不断的加压,直到超过预定的指标或者是部分资源已经达到了一种饱和状态,不能再加压为止
2、压力测试:指当系统已经达到一定的饱和程度(如CPU、磁盘等已经处于一种饱和状态),系统处理业务的能力或系统是否会出现崩溃等
3、配置测试:通过调整系统软/硬件环境,了解在不同环境下系统性能指标的情况,从而找到系统的最优配置
4、并发测试(concurrence testing):模拟用户并发访问、测试多用户同时访问同一应用、模块或数据,观察系统是否存在死锁、系统处理速度明显下载等其他的一些性能问题
5、可靠性测试:系统一定压力下,让系统持续运行一段时间,看系统是否达到我们要求的稳定性,例:持续运行多少天系统不能出现问题
性能测试应用领域
1、能力验证:某系统能否在条件A下具备B性能,体现某个条件下具备什么样的能力
2、规划能力:体现在系统如何才能达到要求的性能指标
3、性能调优:通过测试来调整系统的环境,最终使系统性能达到最优的状态
调优的对象有数据参数、应用服务器、系统的硬件资源等
4、发现缺陷:性能测试应用领域主要目标是通过性能测试的手段来发现系统的缺陷
性能测试用户数不同场景叫法
1、虚拟用户数
2、登录用户数
3、支持用户数
4、在线用户数
5、并发用户数