一.性能测试的分类
1.负载测试:不断加压的一种测试
2.压力测试
3.并发测试:多用户同时操作同一场景
4.配置测试,容量测试:测试数据库的容量预估。
5.可靠性测试(稳定性测试)
二.性能测试的指标
1.并发用户数
2.响应时间(等待时间+执行时间):不包含浏览器渲染的时间,浏览器的解析时间
2.1.单位时间内完成事务的数量,单位时间事务数-tps(一小时内理发师服务的用户数量)
3.随着并发用户数的增加,单位时间内处理的事务数也会增加
3.1.达到一定的压力时事务数不再增加,会是一个不变的值,这样用户等待的时间就会延长
4.资源利用率:服务器的资源利用率。如果资源利用率小,会造成资源的浪费
5.CPU利用率:不允许超过70~80%、队列长度,队列越长CPU利用率越大
6.Mem利用率:80%以下、页交换频率
7.带宽利用率:服务器带宽利用率
8.吞吐量:服务器的处理的能力Throughput
9.PV和UV
9.1.PV页面访问量,每日每个网站的总PV量是形容一个网站规模的重要指标
9.2.UV用户访问量,作为一个独立的用户,访问站点的所有页面均算作一个UV
三.性能测试的流程
1.测试对象:常用的、核心的、重要的、数据量的业务流程
2.确定性能指标:并发用户数、TPS、吞吐量、资源利用率
3.采用28原则,80%的用户请求,都会在集中在20%的热点数据上,或者是在某个时间段内
4.实例:每天8小时系统支持500万用户访问,计算出每秒系统的访问量
4.1.采用28原则,每天500万的访问量集中在80%的有效请求上
50000000.8=4000000;
400万的访问量集中在20%的时间段内
8小时0.2=1.6个小时,也就是集中在1.6个小时内
4000000/1.6=2500000,计算出1小时有2500000访问量
再计算出1秒内有多少访问量:
2500000/3600=694,有694次访问量,
要是算平均值的话
5000000/8/3600=173,与694差4倍左右,一般情况下平均值和最大并发数差4倍左右。
5.测试场景
5.1.单一场景:比如只是登录、支付、下单等的场景
5.2.组合场景:比如模拟用户下单支付的场景
6.测试计划
6.1.测试目标、测试人员组织、压测进度安排、压力机(配置、要求、数量)、风险
7.测试方案
测试工具:loadrunner、jmeter
测试环境:数据库、服务器、架构设计、有条件的情况下尽量和生产环境一致
测试策略:单一场景、混合场景
监控工具:
linux:nmon、rpc、jvisualVM、Spotlight
windows:Spotlight、perfmon.exe
8.用例设计:基于场景的用例设计、基于脚本的测试用例设计
9.测试执行脚本编写、场景监控设计、运行场景、监控场景、测试报告
10.定位分析问题
后端:服务器,代码、软件、硬件
前端
网络