全链路压力测试被称为促进战争的“核武器”。如果您以前已经关注与Ali Double 11相关的技术摘要,那么您绝对不会对“完整的链接压力测试”不熟悉。从Double 11稳定性的角度来看,使用“核”不是太多了。武器”描述完整的链接压力测试。
在众所周知的电子商务促销中,电子商务平台还希望使用完整的链接压力测试来消除其主要促销的风险。但是他遇到了一些困难:
这个著名的E-商务平台有什么办法可以在1周内在1周内不用业务转型和业务部署而在1周内使用完整的链接压力测试?
在下一个内容中,我们将从完全链接压力测试的原理开始,并根据相同的原理介绍“敏捷版本”完整的链接压力测试,以便可以在内部使用众所周知的E -Commerce平台2周。链接压力测试方案。
首先,让我们看一下Ali的完整链接压力测试。问题是什么:
完整链接压力测试实际解决的问题是:在线压力测试。在线压力测试可以尽快发现在线问题。但是,在线压力测试将带来数据污染问题:如何区分压力测试数据与真实数据压力测试中的重要一点。因此,阿里是怎么做的?让我们看一下下图:
Ali的完整链接压力测试具有成熟且复杂的系统:梳理,构造,准备和发送压力测试。快速而敏捷地享受这项技术?
在这里,PTS沉积物整个过程,并为云上的用户提供标准化的输出。用户可以直接享受一组完整的完整链路压力测试系统,或者在压力测试的关键链接中:例如,在以下步骤中场景梳理,请求施工,压力测试,压力测试等。压力测试效果。
业务场景对应于压力测试的输入请求。这是第一步和最重要的一步。最常见的是整理和总结业务中涉及的URL。例如,下图是一个共同的场景概括:
但是,这还不够。当几个URL总结一个场景时,URL之间的比例和时间间隔也是影响业务场景的关键。例如,类似于常见场景的类比:用户的订单可能包含10个用户的登录名。它。每个用户平均观看了4种产品。平均而言,每种产品平均观看。在促销活动的开始时,我购买了一个产品。
这些URL之间的关系和时间点需要丰富的业务知识才能清楚地整理出来。为此,PTS提供了服务方面的流量记录的功能,这对于用户记录流量很方便,并轻松获得不同的关系。方面:
如上图所示,用户可以清楚地获得URL之间的比例关系,用户URL之间的时间行为等等。基于此排序的数据模型,用户可以在此基础上删除它们。
接下来,它是构造的用户数据。此步骤涉及最多的角色和最麻烦的角色。整个数据结构包括三个步骤,如下图所示:
首先是数据发现。从基础上,我们可以分类人工业务以获取业务中涉及的所有表并进行分析。为了避免这种麻烦,PTS使用DMS打开,提供表结构的预览,允许测试人员清楚地看到与场景连接的结构,从而大大提高了效率。
如果您仍然觉得太复杂,PTS将提供数据录制工具。安装此代理后,将完全记录涉及业务的表:
使用这些工具,测试人员可以轻松获取与场景相关联的表信息,而无需DBA。
借助这些数据表并基于此分析了数据的关闭,我们可以开始制作压力测试数据。通常,有三种方法可以制作阴影表:
这三种方法可以根据需求使用。
使用这些先决条件,我们可以使用DMS导入数据并制作数据。
在这一点上,我们已经在完整的链接压力测试中完成了两个最复杂的步骤:梳理和压缩数据生产。
接下来,我们通过数据处理将这两个元素处理为压力测量数据。
目前,我们要进行数据处理的压力测试数据的最后一步。也就是说,我们制定业务场景和压力测量数据,并根据我们的业务模型进行最终调整和处理:
在这一点上,我们可以看到对全链路压力测试的压力测试请求已经成形。次要,我们可以开始设计压力测量对象中压力测试流的行为。
压力测试可以在模拟环境和在线环境中进行。不同的环境,选定的数据和制造数据具有不同的考虑。如下所示:
简而言之,测试环境关注一个组件:例如微服务,接口,但协议(SQL,REDIS)和其他压力测试;预览环境(通常是VPC环境)请注意链接集成;场景。我们只讨论在线生产环境。
下图简单地解释了传统的全链路压力测试的操作方法;
我们可以看到,传统的完整链接压力测试主要使用交通标记来区分压力测量流量和真实流量。为此,我们需要确保可以通过一层传输这种压力测试。当流量到达“写作”一层时,部署的代理决定基于压力测试的“写作”行为,是否写入真正的数据库?或者是在影子区域写的吗?原因很简单,但是当实施时,仍然会有很多困难。涉及的主要问题是:
如果我们不想改变我们的业务,也不想安装代理商,我们该怎么做?
让我们看一下样本测试的原理。当测试通常有一种手段,即通过选择几个特定的真实用户数据来测试程序的正确性;如果我们将这些真实的用户数据变成虚假的用户,那么我们需要符合以下关键条件:可以确定该业务方案中涉及的虚假用户和业务数据以及业务方案中的相关数据。
例如,我们模拟假用户并购买假产品。这里的用户和产品可以具有特定的特征。在此前提下,我们可以从真实数据中识别出肮脏的数据。
这种压力测试需要发明以下两点:
此方法基于用户对业务的清晰了解。压力测试数据产生了明显的电压测量符号(比正常数据更大)。通过这种方式,可以识别由压力测试生成的所有数据。压力测试结束后,根据此数据功能清洁了压力测试数据。
为了更好地模拟用户的行为,我们经常使用区域区域的自定义。PTS可以轻松地允许用户选择要启动的区域,如下图所示:
PTS结合了10年以上的Ali的完整链接压力测试经验,以便阿里巴巴云用户可以享受一套完整的标准全链接压力测试,例如Manhan -Han -Han Han,您也可以根据您的方式选择最合适的方式满足您的需求。
作者:Ziyu
资料来源:阿里巴巴云