基于协议模拟用户发出请求(业务模拟), 服务器形成一定的负载,来测试服务器性能指标是否满足要求
关注点: 时间性能 空间性能
性能测试(狭义)
性能测试方法通过模拟生产运行的业务压力量和使用场景组合.测试系统的性能是否满足生产性能要求.通俗的说,这种方法就是要在特定的运行条件下验证系统能力状态
这种方法的主要目的是验证系统是否有系统宣称的能力
负载测试
通过在被测系统上不断加压直到性能指标达到极限
这种测试方法的主要目的是找到系统处理能力的极限
压力测试(强度测试)
压力测试测试的是系统在一定的饱和状态下,例如CPU,内存饱和使用的情况下,系统能够处理的会话能力,以及系统是否会出现些错误
测试系统处于压力性能下时,应用的表现
并发测试
通过模拟用户并发访问,测试多用户并发访问同一应用,同一模块或者数据记录时是否存在死锁或者其他性能问题
配置测试
配置测试方法通过对被测系统的软硬件的调整,了解各种不同对系统性能影响 程度,从而找到系统各项资源的最优分配原则.
可靠性测试
在给系统加载一定业务压力的情况下,使系统运行一段时间,来检测系统是否稳定
发出请求到接收到响应数据的时间 不包含浏览器解析渲染页面时间
HPS: 每秒发出请求数
吞吐量: 描述服务器处理能力
CPU利用率: 不允许超过70-80%
队列长度
内存利用率 80%以下
页交换频率(物理内存与虚拟内存交换的频率)
带宽利用率
100Mbps 约等于 12.5MB/s
如果资源利用率太小,会造成资源浪费
需求分析
测试对象: 常用的,核心的,重要的,数据量大,并发量
确定性能指标
例子:
已知: 每天完成交易额2亿, 客单价: 200 - 500 : 以300计算. 求每秒最大交易数.
1.求出每日交易数: 2亿 / 300 = 666,666(66w)
2.据二八法则 80%(66w * 0.8 )的请求集中在20%(24 * 0.2 )的时间上
533,333请求数 在 4.8 小时中
4..求每小时: 533333 / 4.8 = 111,111
5. 每秒 = 111111 / 3600 = 30
所以: 每秒最大请求数是 30 次
算法二:
求出平均然后 * 4
据二八法则: 80%的用户,集中在20%的热点数据,或时间段
测试工具:
loadrunner, jmeter
监控工具:
linux: nmon, rpc(进程), jvisuaVM(Java), Spotlight(数据库)
windows: Spotlight, perfmon
用例设计
测试脚本
场景测试