目录
一、性能测试概述
二、性能测试相关术语
三、性能测试类型
四、性能测试工具
五、性能监控工具
六、制定性能测试方案
七、项目实战
八、MySQL性能调优的常用方法
性能测试的价值
性能测试的价值
为此次门票销售提供技术系统平台的是北京歌华特玛捷票务有限公司。该公司副
经理杨力透露,此次票务官网的流量容量是每小时100万次,但承受了每小时800万次的
流量压力,所以系统在启动不久就出现了处理能力不足的问题。
杨力说,从昨天上午8点左右开始,就有不少网民登录票务官网排队等待申购门票。
据他了解,从上午9点正式开始售票到中午12点,3个小时内,票务网站被浏览次数达到
2000万次。这与他们此次所提供的100万次/小时流量相差甚远。
“不停地刷新网页,也是造成网络拥堵的原因之一。”杨力说,不少网民在无法正
常登录后便不断刷新,“这就相当于一名申购者变成了若干名申购者了,无形中增大到
了网站流量。从技术角度讲,网站的流量几乎成几何倍增长,导致其他申购者无法登
录”。
此外,在票务技术系统上,票务官网、中国银行指定代售网点以及呼叫中心(即订
票热线)用的都是一个售票系统平台,该系统会自动确认订单并按先后顺序进行处理。
由于昨天申购的人数庞大,加上网民不停地刷新页面,最终造成奥运门票无法正常销售。
性能测试的价值
[案例2] 12306订票网站(内容来自于百度)
12306网站创建初期的几年每逢春节就瘫痪,2014年1月9日,当日开始出售1
月28日的火车票,是当年的售票高峰日。这一天的网页浏览量高达88亿次,
88亿次/12小时=20W/秒+的点击。这个网站的多次瘫痪证明了,性能测试的
重要性,也证明了不是用硬件就能解决软件性能。
什么是性能测试
百度百科:性能测试是通过自动化的测试工具模拟多种正常、峰值以及异
常负载条件来对系统的各项性能指标进行测试。
详细解释:性能测试是针对系统的性能指标,建立性能测试模型,制定性
能测试方案,制定监控策略,在场景条件之下执行性能场景,分析判断性
能瓶颈并调优,最终得出性能结果来评估系统的性能指标是否满足既定值。
什么是性能测试
性能是个大工程,覆盖各端:
• 服务器端:服务器端的性能测试也叫后端的性能测试,是以功能实
现正确为前提,通常有一定的并发用户,考察服务器端在一定并发
压力下的性能指标。
• 客户端:Web前端、App端、小程序端、H5端、PC客户端等
本课程讲解的性能测试都是针对服务器端。
服务器端
Web端
App端
小程序端
什么是性能测试
完整性能测试包含以下几个要素:
• 时间指标
• 容量指标
• 资源利用率指标
• 业务模型
• 监控模型
• 测试环境
• 测试数据
• 测试模型
• 性能指标
• 压力测试
• 准入准出
• 进度风险
• 系统架构
• 系统监控
• 中间件监控
• 缓存监控
• 队列监控
• 负载均衡监控
• 熔断限流
• 链路监控
• 基准场景
• 容量场景
• 稳定性场景
• 性能结果整理
• 监控结果整理
• 性能整体分析
• 性能结论
• 优化建议
• 运维建议
什么时候进行性能测试
从V型图可以看到,性能测试属于系统级测试。所以性能测试是基于单元
测试、集成测试、功能测试等都已经完成的基础上,站在用户的角度去测
试整个系统的性能。
功能测试完成→性能测试→上线
需求分析
系统测试(功能测试、性能测试)
概要设计
集成测试
详细设计
单元测试
客户需求
验收测试
编码