笔记(茹炳晟老师 第29课 聊聊性能测试的基本方法与应用领域 )
常用的性能测试方法--七大类
- 后端性能测试(服务端性能测试)
- 前端性能测试
- 代码级性能测试
- 压力测试
- 配置测试
- 并发测试
- 可靠性测试
后端性能测试
平时听到的性能测试,大多数情况下是指后端性能测试,也就是服务端性能测试
后端性能测试:通过性能测试工具模拟大量的并发用户请求,然后获取系统性能的各项指标,并且验证各项指标是否符合预期的性能需求的测试手段
性能指标:并发用户数、响应时间、系统吞吐量、各类资源的使用率(系统级别的CPU占用率、内存使用率、磁盘I/O、网络I/O)、应用级别以及JVM级别的各类资源使用率指标等
性能测试工具:采用基于协议的模拟方式
根据应用领域不同,后端性能测试的场景设计主要包括以下两种方式
- 基于性能需求目标的测试验证
- 探索系统的容量,并验证系统容量的可扩展性
前端性能测试
【关注点】浏览器的页面渲染时间、资源加载顺序、请求数量、前端缓存使用情况、资源压缩等内容,找到页面加载过程中比较耗时的操作和资源
前端测试方法:Yahoo前端团队总结的7大类35条前端优化规则
【典型规则】
- 减少http请求次数
- 减少DNS查询次数
- 避免页面跳转
- 使用内容分发网络(CDN):对静态内容做缓存,并把缓存内容放在网络供应商(ISP)的机房,用户根据就近原则到ISP机房获取这些被缓存了的静态资源
- Gzip压缩传输文件
压力测试
通常指后端压力测试。通常用于系统容量规划的测试
采用后端性能测试方法,不断对系统施加压力,并验证系统处于或长期处于临界饱和阶段的稳定性及性能指标,并试图找到系统处于临界状态的主要瓶颈点。
配置测试
通过性能基准测试,建立性能基线。在此基础上,调整配置。
根本目的:找到特定压力模式的最佳配置
配置包含多个层面:
- 宿主机操作系统配置
- 应用服务器配置
- 数据库配置
- JVM配置
- 网络环境配置
- ...
并发测试
指同一时间,同时调用后端服务,期间观察被调用服务在并发情况下的行为表现,旨在发现资源竞争、资源死锁之类的问题
集合点并发
【建议】在实际项目中,在要求的并发数上进行适当放大。比如要求的并发数是100,集合点并发数可以设置为120(避免网络延迟等原因导致并发量<100)
可靠性测试
验证系统在常规负载模式下长期运行的稳定性(长时间模拟真实系统负载)--旨在发现系统潜在的内存泄漏、链接池回收等问题
波浪形负载(高峰和低谷负载交替变化,持续3-7天)
四大应用领域需要用的测试方法