第一节: 区别 (纯概念解释)
先说说性能和功能的区别:
功能测试-- 测试一辆车 : 轮子有没有转不转,有没有方向盘 -- 更多的是站在使用的角度,能不能按我的想法去正常使用,功能是否存在?
性能测试-- 测试一辆车 : 轮胎噪音大不大,百公里加速多少秒 -- 更多的是要站在好不好用的基础上去做考虑。
性能测试:找到一个程序的极限值!
找极限的目的是什么?
保证系统上线后能正常运行,不会遇到突发情况导致掉线,崩溃而造成的经济损失
只要找到了极限 -- 预警机制.
给一个范围值
第二节: 程序的运行,服务器,客户端,性能问题发生的位置与原因.
程序的运行是什么?
请求与服务器的关系?
Http请求 与代码的关系
程序运行在服务器中 -- 程序就是一个个的文件
性能测试是个看病的游戏,我们需要对程序是否有问题做一个判断! 通过指标来判断.
第三节: 指标介绍,它们是反馈的是什么意思?
用什么东西来给我们做对应的反馈 几个核心要务:
响应时间 -- 一个请求操作 完成的时间 ms -- 等待时间+处理时间
表现:
网页响应时间 多个页面的资源累加计算 (最大值)
接口 -- 完整接收响应的市场
并发量:
老板,买个打卡系统-- 1W人 一起下班能不能用?
相对并发 : 一段时间内向服务器发出请求的并发 (人的操作,会有间隔)
绝对并发 : 一个时间点 服务器收到的请求量
站在用户角度上能够看到的
资源占用率 : 程序运行的角度 一个用户请求过来,对服务器资源占用多少.
吞吐量:一进一出 输入---处理 --- 输出
QPS: 每秒查询率(Query per Second) 不涉及数据变化的操作
TPS: 每秒事务处理数(Transaction per Second) 涉及数据变更的操作
数字/s 反应程序处理能力的综合体现 越大越好
银行大厅 : 处理请求
两个窗口 接待客户 15分钟
一次来了10个人(并发) 2个 去办理业务 8个人等待。
15分钟后 两个人办理完毕走了 (吞吐量) 2
吞吐量过低 : 10分钟又来了10个 人越来越多 挤满所有的空间
银行大厅 : 处理请求
10个窗口 15分钟
上午来了两个人 吞吐量 2 并发量也是2
吞吐量 有一个上限,但是 一旦请求数量不够,我们无法正确获得吞吐量
加并发慢慢加人来得到吞吐量
第四节:性能测试的核心步骤 -- 基准测试介绍
基准测试: 最少的并发,确定每一次用户操作需要占用的资源和性能指标
异常率 默认 < 0.05% (根据公司来,超过1%,一定不合格)
负载测试: 通过梯度压测,找到对应的瓶颈点,找到之后,我们需要去做验证!
通过负载测试,可以很轻松的定位到性能的瓶颈点所在.根据这个节点数据,学会控制住多线程的并发,尽可能让线程做到一个线程1秒发一次请求.
评论区