网站开发客户挖掘,网络维护协议范本,wordpress 页面属性 模板,海南app开发一、需求收集
先需要确认本次测试目的是什么#xff0c;然后再看我们需要用什么参数来判断这个目的是否能够达成。
1.1 业务性能指标参考#xff1a;
TPS、QPS、RT、请求成功率#xff08;一般请求成功率99.99%#xff09;
1.2 硬件性能指标参考#xff1a;
即服…一、需求收集
先需要确认本次测试目的是什么然后再看我们需要用什么参数来判断这个目的是否能够达成。
1.1 业务性能指标参考
TPS、QPS、RT、请求成功率一般请求成功率99.99%
1.2 硬件性能指标参考
即服务端资源耗用指标常规的资源监控指标有CPU使用率、Memory使用率、系统IO、网络IO等。
二、性能测试策略参考
基于不同的目的我们的测试策略选择是各不相同的此处列举了一些比较常见的各位可以参考一下
2.1 并发测试
模拟客户端请求在单位时间内(S)同时发起一定量的请求验证系统是否具有并发性的问题。不要无脑并发
1)经典公式仅供参考具体使用需要在业务实践中代入验证
平均并发用户数为 C nL/T
n是login session(登录用户)的数量L是login session的平均长度平均在线时间T是值考察的时间长度工作时间
2)另一种说法使用并发度跟总用户数评估并发用户
公式总用户数/并发度并发用户数
并发度计算方式1. 统计某时段的当前在线用户数2. 把所有功能操作的用户数都统计出来4. 将统计出来的用户数除以在线用户数就知道并发度了。某个时间点10000个在线用户100个用户进直播间那么并发度就是1%
具体在业务实践中应该参考之前的历史数据跟开发以及业务方评估本次的预期值进行并发压测。预期并发数
2.2 负载测试
不断增加请求压力直到服务器某个资源项达到饱和比如CPU使用率达到90%或某个指标达到安全临界值比如运维的监控告警阈值or拐点
负载测试也叫阶梯式压测一般主要用来寻找性能的拐点验证系统在既有测试环境不同的请求压力下能否正常运行。示例如下
2.3 配置测试
不断调整系统各方面的配置软硬件、参数配置等验证在性能达到最优时最优的性能一定是权衡各方面因素找到的平衡点的最佳配置。
2.4 浪涌测试
验证系统在某段时间内并发突增或请求量波动较大的情况下系统能否正常稳定的提供服务。
PS这种测试策略使用的也相对较少主要针对不确定性的短期的峰值流量涌入场景比如某微博的离婚、恋爱、分手话题。
2.5 稳定性测试
以恒定的并发数根据负载测试的结果CPU使用率在70%时对应的并发数验证系统在混合场景下的性能表现。
2.6 批处理测试
验证待测系统在既有环境下系统的批处理触发式的job等业务能力能否满足生产的业务需求指标。
2.7 高可用测试
在集群多节点或分布式的情况下破坏其中一个或多个集群节点验证系统能否及时恢复服务能力。
2.8 容错恢复测试
验证系统能否在出现故障的情况下仍能保持正常提供服务的能力或出现故障后的自我恢复能力。熔断、降级策略 a1面积越大说明系统的处理能力越强a2面积越大说明系统稳定性越好a3面积越大说明系统的容错能力越好
2.9 容量测试
确定系统可处理同时在线的最大用户数。使系统承受超额的数据容量来发现它是否能够正确处理。 采用负载测试策略验证在现有测试环境下被测系统的最大性能表现可接受的最大性能表现不一定是最优性能表现。
2.10 极限测试
在既有测试环境下不考虑资源占用率的极限情况CPU使用率达到95%以上或IO异常繁忙或Load值较高在系统不宕机的情况下的最大处理能力。
PS由于被测系统的业务场景各不相同这种策略采用率相对较少。
三、性能测试场景建模
根据业务目的我们可能会同时选择多种策略来完成一次项目的性能测试这个没有标准答案只有一些参考项
四、聊聊别的
性能的测试结果都只能算是参考结果很难跟真实场景1:1对应所以需求分析场景建模环境配置十分的重要能减少最终结果的误差要注意数据的存档避免后续不必要的麻烦对于压测环境来说最好喝生产环境同等配置最小化部署。