多入口性能压测大杀器:一站式压测平台OPM背后的技术揭秘

多入口性能压测大杀器:一站式压测平台OPM背后的技术揭秘

作者:韩锷 2018-01-10 14:08:34

云计算

新闻 阿里的双十一已经成为全球的超级工程了,在这个超级工程中,全链路压测是很重要的一个环节。整个集团层面的全链路压测,涉及到的BU和团队非常多,对于这样一个涉及多个团队协作的事项,如何尽量的减少人员的投入,减少全链路压测的次数,同时又能保证压测能够达到目标,成为一个必须要去突破的问题。

我们面临的挑战

阿里的双十一已经成为全球的超级工程了,在这个超级工程中,全链路压测是很重要的一个环节。整个集团层面的全链路压测,涉及到的BU和团队非常多,对于这样一个涉及多个团队协作的事项,如何尽量的减少人员的投入,减少全链路压测的次数,同时又能保证压测能够达到目标,成为一个必须要去突破的问题。

集团的全链路压测主要涉及交易和导购两部分。交易的全链路启动比较早,相关的平台,工具和流程经过几年的沉淀,已经比较成熟,形成了较为稳定的体系。导购的全链路压测,因为导购业务的特殊性,例如入口流量存在较多的不确定性,系统之间的调用错综复杂,加上导购的业务,日常态和大促态差异比较明显等。

以上是经过抽象之后的导购的全链路压测模型,实际的模型,会更复杂,入口的分散,系统之前的互相依赖等,如下图显示。

另外导购的全链路压测2016年才启动,还没能够形成体系。针对这些问题和挑战,2017年,我们通过构建一站式的全链路管理平台。克服了上述的问题,取得了良好的效果。

在2017年导购的全链路压测启动之前,我们先回顾了过去导购全链路压测经历过的问题。

1. 压测的人力消耗已经越来越不可管控,全链路压测导购人力消耗,150人,双十一当天1000人,如何减少人力已经成为迫在眉睫的事情

2. 应用多,入口分散,每次压测都需要调整流量模型,频繁的调整对收口业务的稳定性带来了较大压力

3. 无历史参考数据,换一拨人很多历史经验无法沉淀,造成人力的巨大浪费

4. 上下游流量人肉的收集与管控,导购场景相互之间网状调用,造成长期流量评估的巨大误差

5. 无压测性能过程管控,研发人员一有性能问题***反应就是要机器

针对这些问题,我们构建了一站式的全链路压测平台。以下是平台核心功能,主要包括压测构造、压测执行(偏监控)、分析问题和定位。

压测构造

导购的全链路压测,压测需求的构造,是很重要的一个环节,对压测结果的准确性有很重要的影响,同时也需要不小的工作量。2017年,我们在压测构造方面提供了以下的丰富的能力

(1)数据工厂:提供快速构建压测数据,支持多种类型和灵活的参数构建规则,并实现了压测数据在关联系统之间的共享,降低了压测数据准备的工作量提高了压测数据的准确性

(2). 压测流量模型和需求: 导购的流量存在多单元入口,以及入口流量的不确定性,这对压测需求的构建有一定的影响。2017年,我们通过构建压测流量模型。并以此作为基础,直接一键构建压测需求,并支持压测需求的批量更新,合并,复制,需求内链路压测数据之间的共享等,大大降低了压测需求构建的工作量。

流量模型梳理

近1000个链路场景,系统与系统之间存在互相调用,系统流量之间存在千丝万缕的联系,给核心系统的业务评估带来了巨大的挑战。评估流量模型的时候很容易产生遗漏,也容易产生评估的偏差。OPM可以实时录入线上流量,产生流量调用比例图(如上图所示),当入口流量确定时,可以协助用户梳理整体流量,为流量的梳理提供帮助

在这个基础上,我们增加了导购全链路压测的全局视角,通过提供以下的能力,达到全链路压测的一体化。

1.任务管控:可以管控导购全链路压测的所有应用链路,包含压测需求、压测链路、流量模型、并提供了全局流量视图。对导购的全链路压测的全貌,可以实时查看。达到对整个压测的可视化

2. 进度和变更管控:通过和ebay的协作,对全链路压测的时间进度,压测变更,等进行管控,使得整个压测的过程,有条不紊的进行。

压测执行时

导购的全链路压测,涉及到的应用比较多,要关注的点比较多,例如入口流量是否正确,各单元的流量比例是否正确,是否有跨单元调用,实际压测流量和预设值是否一致等等。借助现有的监控还满足不了。为此,2017年,我们在压测执行时的全局监控方面进行了一些努力。除去集团监控实现的功能外,OPM还提供了以下的全局视图。

1. 压测大盘:实时展现压测流量,包括入口流量,各单元的流量,压测流量与预估值的实时对比等,可以全局监控导购的流量是否符合预期

2. 全局系统监控大盘:系统指标(cpu、load、网络等)、服务指标(rt、qps、超时等)、上下游调用量等,可以很直观的发现整个全链路中,性能瓶颈在哪个应用上。

3. 运维状态大盘:系统监控、业务监控、预案、限流。

上述的全局视图,除了在压测执行的过程中可以实时查看,OPM也提供了快照的功能,持久化在平台中,可以重新进行分析和查看

分析定位

OPM通过整合集团内的各监控平台,构建了分析定位性能问题的基础,

1. 变更分析:全链路压测性能出现问题时,我们首先想回到压测的那个时刻,了解当时执行了什么变更?推送了什么配置?当时的性能快照是什么?OPM提供实时快照能力,实时记录时间的所有变更,为后续性能的分析提供数据支持。系统变更聚合展示,可以快速定位出性能的变化与系统变化之间的关联。

2. 性能快照:系统性能快找,通过自定义的性能快照采集和生成,方便事后对过去任意时间系统状态进行查询和分析

2017年的新尝试–构建性能基线

2017年,我们针对导购的核心应用,启动了构建性能基线的计划。通过周期性的在隔离环境进行基线压测,及时发现应用的性能问题,尽早发现,尽早解决,避免了性能问题遗留到大促前,大大降低了系统的性能风险。

隔离环境(强调性能基线) 何在白天不干扰线上业务进行常态化的集群压测一直是性能基线的难点,opm提供隔离环境,使线上集群压测能够常态化的进行。

首先系统系统自动化的隔离一堆机器,隔离的环境与线上系统逻辑隔离,压测流量自动引流至隔离环境。当压测结束时,隔离机器自动归还给线上环境,一键恢复

性能基线与趋势: 通过持续的基线压测和基线管理,可以全局查看应用的性能以及变化趋势,并对基线压测过程中发现的问题进行跟踪和解决。使应用的性能瓶颈在日常的基线压测就发现和解决,避免了再大促全链路压测时才发现,降低了系统的风险。

2017年,我们取得的效果

1. 人力成本:从之前多个人协同负责一个系统压测,开始转变成一个人可以慢慢负责一条链路的压测

2. 压测准备时长:从每次压测需要提前几天的准备到随时随刻可以进行全链路压测

3. 不确定性到确定性:下游业务每次评估压测流量从收集信息,靠猜的不确定性到系统给出结果流量的确定性

适用场景

1.适用压测模型:入口分散,有统一收口的压测模型

2. 隔离环境与性能基线:常态化的支撑线上性能压测

3. 复杂系统的流量模型管控:压测链路上千场景的流量模型管控

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/231869.html<

(0)
运维的头像运维
上一篇2025-04-19 21:54
下一篇 2025-04-19 21:55

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注