《云上大型赛事保障白皮书》——第三章 压测调优与技术演练——3.1 云上大型赛事压测调优——3.1.2 云上大型赛事压力测试方法论(上)

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 《云上大型赛事保障白皮书》——第三章 压测调优与技术演练——3.1 云上大型赛事压测调优——3.1.2 云上大型赛事压力测试方法论(上)

3.1.2 云上大型赛事压力测试方法论


压力测试的六大核心要点:明确压测目标、梳理压测链路、设计压测方案、配置压测环境、实施压测计划、解决压测问题。


3.1.2.1 明确压测目标


明确压力测试最终需要达到的目标,是设计与实施整个压测方案的先决条件。目前常见的压测目标可分为两类:一类是基于系统监控找水位,即在系统资源濒临阈值时检查QPS以及对应RT,即为该系统的水位。一般用于评估业务系统可承受的QPS,从而判断当前系统架构是否可满足业务需求。一类是基于预估压力判断业务是否可正常运行,即在稳定的QPS下判断系统是否存在性能瓶颈,业务链路是否可正常运行。一般是用于在大型运营活动前,基于预估QPS对系统进行压测,提前找出性能瓶颈,保证运营活动正常运行。

对于大型赛事活动的压测一般是第二类,即首先由业务方预估赛时的压力情况,再通过压测系统模拟该压力找到系统瓶颈。这里需要注意的是,业务方需要给定一个明确的预估压力值,例如1000并发用户数、8万QPS等,如果没有最终目标,压测就会进入不知道压到什么程度才算完成的尴尬局面。并且,这个压力值是基于业务层模拟推导计算出来的,例如,冬奥通APP业务峰值是x万日活用户,对某个页面,根据业务观察,每个用户平均每天会打开10次,打开一次该页面的请求数为5个,那么我们考虑比较极端情况,假设所有用户的这10次请求都集中在某1个小时内,那么该页面的QPS要求即为:xk * 10 * 5 / 3600 = x QPS。再例如,云展厅项目有一个高并发的秒杀业务,预估用户数为8k,假设用户的一次点击产生一次请求,那么这个业务的QPS要求即为8k QPS。


3.1.2.2 梳理压测链路


梳理目标系统整体的架构及业务链路,可以体系化的帮助理解当前系统的业务链、业务链之间的依赖关系、功能点所在的业务位置等等,是后续抽象压测模型、划分压测场景、设计压测方案、解决压测问题的关键依据。通常来讲,链路梳理的越细致,后续的工作就会越流畅。

对于大型赛事而言,子系统繁多,链路间调用关系复杂,梳理起来对应的工作内容会比较多。一个比较好的最佳实践是根据系统架构图来理解每条接口链路情况,在下文冬奥通APP压测总结中我们将会看到,一个完整详细的系统架构图对链路梳理起了非常大的帮助。

在梳理过程中也可以同时分析潜在的瓶颈点,并针对性的增加监控指标、制定应急预案等。例如,负载均衡产品潜在高频问题为容量不足、建连失败等,针对容量不足风险,可通过观察超限丢包指标来进行判断。数据库产品常见问题为连接池耗尽、慢查询等,可通过连接池监控、SQL语句执行时间监控等来进行判断。不同风险的判断指标需要落在压测方案中。


《云上大型赛事保障白皮书》——第三章 压测调优与技术演练——3.1 云上大型赛事压测调优——3.1.2 云上大型赛事压力测试方法论(下): https://developer.aliyun.com/article/1226643?groupCode=supportservice

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
9天前
|
机器学习/深度学习 人工智能 算法
深入探索软件测试中的黑盒测试技术
本文旨在通过一个创新视角,探讨软件测试领域中的黑盒测试技术。我们将从一个全新的维度——测试用例的生成策略出发,分析如何提高黑盒测试的效率和效果。文章不仅会介绍传统的测试用例设计方法,如等价类划分、边界值分析等,还会结合最新的技术发展,讨论人工智能在黑盒测试中的应用前景。通过案例分析和实践应用,我们期望为读者提供一套系统的黑盒测试解决方案,以应对日益复杂的软件测试需求。
|
5天前
|
机器学习/深度学习 人工智能 测试技术
探索自动化测试的前沿技术与实践
自动化测试作为提升软件开发效率和质量的关键工具,正经历着前所未有的变革。随着人工智能、机器学习、云计算等技术的融合与创新,自动化测试不断突破传统界限,展现出更智能、更高效、更灵活的发展趋势。本文将深入探讨自动化测试领域的最新技术进展,分析其在现代软件开发中的应用,并讨论如何有效整合这些技术以最大化测试效率和准确性。
|
5天前
|
人工智能 程序员 API
通义万相AIGC技术的测试体验
通义万相AIGC技术的测试体验
21 1
|
6天前
|
机器学习/深度学习 人工智能 机器人
现代软件测试中的自动化工具与技术
随着软件开发复杂性的增加,自动化测试在现代软件开发中变得至关重要。本文探讨了当前流行的自动化测试工具和技术,以及它们如何提高软件质量、加快发布速度和降低成本。
20 1
|
9天前
|
机器学习/深度学习 人工智能 Devops
探索软件测试自动化的未来:技术挑战与机遇
随着软件开发周期的不断缩短和复杂性的增加,软件测试自动化在确保质量和效率方面扮演着越来越重要的角色。本文将深入探讨软件测试自动化的发展现状、面临的技术挑战以及未来的机遇。
14 2
|
13天前
|
机器学习/深度学习 敏捷开发 人工智能
探索软件测试中的AI辅助技术
【6月更文挑战第12天】在软件开发生命周期中,测试环节是确保产品质量的关键环节。随着人工智能技术的飞速发展,AI辅助的软件测试方法正在改变传统的测试流程。本文将探讨AI如何优化测试过程,提高缺陷检测的准确性和效率,并预测未来AI在软件测试领域的应用趋势。
22 1
|
15天前
|
编译器 测试技术 Linux
技术洞察:循环语句细微差异下的性能探索(测试while(u--);和while(u)u--;的区别)
该文探讨了两种循环语句(`while(u--);` vs. `while(u) u--;`)在性能上的微妙差异。通过实验发现,后者比前者平均执行速度快约20%,原因在于循环条件检查的顺序影响了指令数量。尽管差异可能在多数情况下不显著,但在性能关键的代码中,选择合适的循环结构能优化执行效率。建议开发者在编写循环时考虑编译器优化和效率。未来研究可扩展到不同编译器、优化级别及硬件架构的影响。
|
2天前
|
缓存 Java Spring
SpringBoot配置第三方专业缓存技术Memcached 下载 安装 整合测试 2024年5000字详解
SpringBoot配置第三方专业缓存技术Memcached 下载 安装 整合测试 2024年5000字详解
5 0
|
11天前
|
机器学习/深度学习 人工智能 Devops
软件测试中的自动化技术发展趋势
随着信息技术的不断发展,软件测试领域也在不断创新与进步。本文将探讨软件测试中自动化技术的发展趋势,分析当前主流的自动化测试工具以及未来可能的发展方向,帮助读者更好地了解并应对软件测试领域的挑战。
27 0
|
14天前
|
机器学习/深度学习 人工智能 测试技术
技术创新与实践:我的自动化测试之路
自动化测试作为软件开发领域中的重要一环,对于项目质量和效率起着至关重要的作用。本文将分享我在自动化测试方面的实践经验和感悟,包括技术创新、挑战及解决方案,以及对未来发展的展望。
17 0