本文主要是介绍性能测试杂论,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
性能测试术语
1、响应时间
响应时间=呈现时间+系统响应时间
系统响应时间=网络传输时间+应用延迟时间
应用延迟时间=数据库延迟时间+应用服务器延迟时间
2、并发用户数
一般为10%同时操作人数
并发用户数即业务并发用户数
同时在线用户人数(即整个业务系统的并发用户数)
估算并发用户数具体数值
C=nL/T
n是login session的数量 L是login session时间段的平均时间长度
T是考察的时间段长度
login session "用户从登陆进入系统到退出系统的时间段"
并发峰值约等于C+3根号C
经验公式C=n/10
并发峰值约等于r*C
3、吞吐量 "单位时间内系统处理的客户请求数量"
吞吐量两个方面发挥作用
(1)估算事务发生频率(2)测试场景是否达到预期目标或遇到瓶颈用吞吐量测试发现性能瓶颈。
字节数/秒方式表示的吞吐量主要受服务器架构,应用服务器制约
无瓶颈时 吞吐量F=并发用户数*每秒点击数
4、思考时间 即休眠时间
性能测试方法论
1、SEI负载测试计划过程
目标:产生一个清晰,好理解,可验证的负载计划。内容:目标,用户,用例,生产环境,测试环境,测试环境。
2、RBI方法
目标:快速识别性能瓶颈。内容:重点测试“吞吐量”指标,因为RBI认定80%的系统瓶颈由吞吐量造成。按照网络、硬件、数据库、应用服务器、代码的顺序自上而下分析。需使用分析模块。
3、性能下降曲线分析法
目标:性能 随着用户数的增加而下降趋势的曲线分析、查看性能下降的环境点与上下文。确定性能阀值。内容:通过单用户区域、性能平坦区域、压力区域、性能拐点进行监控和分析。
4、配置测试
通过对系统的软件/硬件的调整,了解各个不同的环境对系统性能影响的程度。
5、并发测试
是否有内存泄露 是否有死锁
6、可靠性测试
通过系统给系统加载一定的业务(80%~90%CPU使用率),让应用系统运行一段时间。测试系统是否稳定运行。
7、失效恢复测试
当问题发生时 “能支持多少用户访问”
“有多少功能不能使用”
性能测试分析方法(着重于PTGM方法论)
1、能力验证
能力验证一般采用这样的描述:“该系统是否能在A条件下具备B能力?”
(1)充分准备一下内容:硬件设备、软件环境、网络条件、基础数据
(2)充分准备测试场景:性能测试方法、可靠性测试、压力测试、失效恢复测试
2、规划性能
“应该如何才能使系统具有我们要求的性能能力”
“应该如何调整系统配置,使系统能够满足用户增长的需要”
负载测试、配置测试、压力测试
3、性能调优
(1)确定基准环境、基准负载和基准性能指标
(2)调整系统运行环境和实行方法,执行测试。
(3)记录结果、进行分析
比如在J2EE性能测试中常见的错误,对于某些建立在J2EE/EJB技术上的应用,在服务器启动的时候,没有注意到测试之前首先进行一段时间的预热,这是因为JAVA语言的hot-spot等技术决定的。
分析方法
1、内存分析方法
(1)首先查看Memery Available bytes
判断是否有内存泄露
(2)注意Pages/sec:持续高至数百,则可能内存有问题
Pages Read/sec:超过5有问题,阀值为5
Pages Fault/sec:每秒页面失效次数
(3)根据Physical Disk计数器分析性能瓶颈
Disk Readwrites/sec:每秒读写次数
%Disk Time:操作等待时间的百分比
Average Disk Queuelength:该值为不超过磁盘数(1.5~2)倍平均磁盘操作队列长度
2、处理器分析方法
(1)首先查看System/%Total Processor Time
体现所有CPU的平均利用率
(2)查看每个CPU的Processon/% Processor Time 和 Processor/% User Time 和 Processor /% Privilegod Time
Processor/% User Time 非核心操作消耗的CPU时间一般算法程序问题。
(3)研究系统处理器瓶颈 (1)查看system/processor Queue length 当此值大于CPU数量的总数+1时,说明产生了CPU阻塞
Processor Queue Length:当前服务器作业的线程数,一个CPU有2个线程数在作业中就表示堵塞。(2)%DPC TIME:CPU消耗在网络处理上的时间,越低越好,加入网卡可降低此消耗。
3、磁盘I/O分析方法
(1)计算每个磁盘的I/O数
RAID N 规范下
I/O数=f(writes reads)/number of disks
(2)根据Disk sec/Transfer进行分析
在磁盘上写入数据的平均时间
小于15ms excellent 介于15ms-30ms之间良好30-60之间为可疑接受260ms更换硬盘或RAID方式
4、进程分析法
(1)查看每个进程的%Processor Time 找出高消耗资源的进程
(2)查看每个进程的页面生效数(Process/Page Failures/sec)
(3)查看进程的Process/Private Bytes看进程是否内存泄露
这篇关于性能测试杂论的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!