性能测试
自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
负载测试
逐步增加系统负载,测试系统性能变化,并最终确定系统所能承受的最大负载量
也就是在一定软硬件环境下,通过不断加大负载来确定满足性能指标情况下能承受的最大用户数。简单说,可以帮我们对系统进行定容定量,找出系统性能的拐点,给予生产环境规划建议。这里的性能指标包括TPS(每秒事务数)、RT(平均响应时间)、CPU 利用率,内存使用情况等软硬件指标。
关键词:逐步增加
压力测试
在较大的性能压力下,持续运行一个比较长的时间,看系统服务和资源利用情况。
在一定的软硬件环境下,通过高负载的手段来使服务器资源处于极限状态,测试系统在极限状态下长时间运行是否稳定,确定是否稳定的指标包括TPS,RT,CPU Using,Mem Using。
关键词:较大压力+较长时间
可靠性测试
在给定的一定业务压力下,持续运行一段时间,查看系统是否稳定
关键词:是否稳定,一定业务压力。
容量测试
在一定的软、硬件条件下,在数据库不同数量级数据量的情况时,对系统中读写比较多的业务进行测试,从而获得不同数据量级下的性能指标
关键词:不同数据量级
性能测试的主要指标
并发
狭义:同一时间点执行相同的操作
广义:同一时间,向服务器发起的请求
并发用户数
同一时间点,执行请求的用户数。
系统用户数,在线用户数,线程数
事务
指一个客户机向服务器发送请求然后服务器做出反应的过程。
响应时间
从发起请求到收到请求响应的时间
发送请求网络传输时间+服务器处理时间+返回响应网络传输时间
TPS\QPS
TPS(Transactions per second):服务器每秒处理事务数,衡量服务器处理能力的最主要指标。
QPS(Queries per Second)每秒查询率
吞吐量(Througput)
单位时间内处理的请求数量
如:港口吞吐量 ,一年5千万标准集装箱
衡量网络的
网络没有问题时,吞吐量=TPS
吞吐率
单位时间通过的数据的平均速率(KB/S)
如:港口日吞吐率,年吞吐量/365天
数据的传输率
点击率(Hit per Second)
每秒点击数
资源利用率
cpu利用率
内存利用率
磁盘I/O
一般不要超过80%
性能测试步骤
(一)性能测试准备
1、需求分析—熟悉业务
2、明确性能测试目标
3、了解软件功能,架构
4、指定测试计划,做好工作量评估
5、制定测试模型(编辑测试用例)
(二)搭建性能测试环境
1、工具的选型和准备
2、被测系统环境搭建(服务器,服务版本更新,数据库数据准备)
3、网络配置
(三)性能测试脚本开发
1、选取协议
2、制作脚本
3、调试脚本
4、验证脚本
(四)性能测试执行
1、试运行
2、场景运行
(五)性能测试结果分析与调优
1、分析依据:结果图标
2、分析思路:服务器硬件瓶颈>网络瓶颈>服务器os瓶颈(参数配置、数据库、web服务器)>应用瓶颈(sql语句、数据库设计、业务逻辑、算法)
3、调优
4、修改脚本或场景
(六)性能测试报告与结果跟踪
1、性能测试报告
2、性能测试问题跟踪