目录
(4)每秒通过的事务数(Transaction Per Second)
1、什么是性能测试
系统的性能是一个很大的概念,对一个软件系统而言包括执行效率、稳定性、安全性、兼容性、可扩展性、可靠性等待。
性能测试是通过自动化测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
2、常见的性能问题
(1)CPU的使用率达到了100%;
(2)内存泄露;
(3)系统在用户量高峰期的时候不稳定,出现崩溃;
(4)系统响应速度很慢;
(5)出现线程死锁情况,资源分配不均等.....
3、为什么要进行性能测试?
1)进行性能测试,确定这个系统的性能指标,作为性能测试的基准(基础标准)
2)查看系统是否满足使用的场景:
(1)在非预期的用户数量下,系统是否可以很快响应用户的需求;
(2)系统能够处理的事务的数量;
(3)在使用高峰期,系统是否可以很快响应用户的请求;
(4)在预期和非预期的情况下,用户是否有舒适的体验(响应快速,不卡顿,画面正常);
3)确定系统的容量(用户,数据);
4)确定系统的配置规划;
4、性能测试流程
(1)分析性能需求,确定性能指标;
(2)根据性能指标,设计性能测试的场景;
(3)进行性能测试,获取性能测试报告;
(4)分析性能测试报告中的指标和预期性能指标是否一致;
(5)找出系统的性能瓶颈(引起性能指标有问题的环节);
5、如何确定性能测试的需求
(1)分析系统的性能需求
例如:
(2)分析系统的关键业务
分析性能测试的关键业务的时候,有两个原则:
①用户频繁使用的业务;
②计算量大的业务;
6、性能测试的指标
(1)并发数
同一时刻向系统后台发送同一个请求的用户数量(严格意义上的)
(2)响应时间
用户从发送请求到页面展示出请求的数据这个过程所花费的时间(后台系统响应的时间+前端页面渲染的时间)
(3)事务响应时间
事务:一系列密切相关的操作的集合。
事务响应时间:系统处理一个事务所需要的平均时间
(4)每秒通过的事务数(Transaction Per Second)
系统每秒处理的事务的数量(这个是衡量一个系统性能的重要指标)
(5)点击率(HTTP Per Second)
每秒向服务器发送的HTTP请求的过程
(6)吞吐量(吞吐率)
一个系统单位时间内处理的信息量(即客户请求的数量)
(7)思考时间
用户进行操作时,每个请求或者操作之间的时间间隔
(8)系统的资源利用率
不同系统资源的使用情况;CPU,硬盘,网络带宽,耗电量......
7、性能测试模型
例子:理发师模型
8、性能测试的类型
性能测试的目的不一样,采用的性能测试类型不一样。
(1)基准性能测试
当一个新的系统开发完成或者接手一个新的系统的时候,我们需要了解这个系统的性能,需要进行基准性能测试。
基准测试要确定一个系统的最大并发数,响应时间,事务平均响应时间,每秒处理的事务数,吞吐量,点击率等。
(2)压力测试
使系统长时间处于高压(高并发的状态下),运行系统,看系统运行情况是否稳定,是否会存在资源分配不均(高并发,并发数量基本接近于系统所能承受的最大并发数,甚至高于系统的最大并发数),内存泄露,死锁,各项的性能指标是否稳定。
寻找系统的瓶颈。
(3)配置测试
改变系统的软硬件配置,进行系统的性能测试,以找到一定压力下,系统最合理的配置;
(硬件配置,数据库,系统部署的服务器,网络带宽......)
(4)可靠性测试
系统的业务压力处于系统所能承受的最大压力的60%~70%左右,长时间的运行系统,观察系统的出错率,以及系统的各项指标是否稳定。
9、系统的性能不同角色的关注点
用户:关注响应时间和系统的稳定性
软件设计开发人员:框架选型(合适的),算法的效率,数据库的选择,是否存在资源分配不合理,内存泄露等情况。
系统的运维人员:数据库服务器,系统服务器配置,7*24系统运行是否稳定,系统支撑的最大的用户访问量。
性能测试人员:以上层面都有关注。
10、性能测试前期准备,为什么要进行基础功能的验证?
系统的基础功能正常,进行性能测试才有意义。