导语

UGeek大咖说是优维科技为技术爱好者研讨云原生技术演进趋势而创办的系列活动,邀请一线互联网大厂的核心骨干主讲,分享原厂实践。本年度主题为可观测,我们希望通过一场场有趣、有料、有深度的活动,让运维圈的小伙伴聚集在一起,深度交流与学习。

一月一期,不见不散!


9月27日,UGeek大咖说第九期圆满结束,此次活动特邀到顺丰科技应用架构高级工程师——李卓做客直播间,为我们讲解全链路压测中的可观测性实践。

李老师为我们分享了全链路压测在大型复杂系统中的落地实践案例,也让我们从多个角度,更深地了解到可观测性在全链路压测等级演进中的探索及后续应用,也给我们讲解了顺丰科技的高峰压测变革,介绍了全链路压测在顺丰落地过程中所遇到的挑战,以及他们的应对方式,最后又逐一讲解了可观测性为压测全链路保驾护航三部曲,以及大规模分布式系统下的应用无侵入性能监控的实现。

什么是压测?

压测,是保障系统稳定性的一种重要的方法,而链路追踪等可观测技术是压测的关键能力。

那么,可观测在压测领域的落地,会产生什么样的化学反应?我们在面对复杂的系统环境下,又该如何通过获取全链路的追踪数据和指标数据,去实现整个压测过程的可观测性呢?

李老师将会用实际案例带我们一起剖析大型复杂系统下,可观测性在全链路压测中的落地实践。

精华摘

一、技术痛点

随着互联网架构越来越复杂,传统的压测的方式在大规模的分布式系统下变得越来越不可行。主要面临以下几个痛点:

>>01 成本高

多个系统性能测试环境占用的硬件资源较大。性能环境的搭建链路复杂耗时长,人力成本投入巨大。

>>02 容量评估难

容量评估没有统一好执行标准,评估的机器资源到活动时经常发现不准(设备配置差异;设备规模差异),易导致容量瓶颈。

>>03 问题定位难

越来越复杂的应用拓扑,节点之间的调用关系变化比较频繁,系统问题定位越来越难。

>>04 效果验证难

分布式系统的性能指标在测试与真实环境差距较大,参考意义有限。

二、高峰保障挑战

系统容量:如何评估大规模分布式系统容量,防止高峰容量评估不准造成的雪崩效应。

系统稳定:线下性能环境与生产环境存在差异性,导致线下压测结果会存在一定的偏差,部分问题无法复现,导致高峰存在风险隐患

保障效率:每年高峰压测,搭建压测环境需要耗时1-2周,压测结束后,环境资源被回收,如此重复,耗费大量人力。

硬件成本:耗费大量资源塔建线下性能测试环境,比如2020年的一次性硬件成本就达到干万以上。

沟通协同:缺少标准化分析定位工具平台通协调多个团队线下分析。

三、行业压测性能的演进:从线下到线上

目前整个物流行业基本上已经抛弃了线下做这性能测试,这种方案已经基本上全面的来转到了线上来做生产的全联动压测,从这个线下到线上,大致可以分成以下七个步骤:

四、业务侧与技术侧用户痛点

>>用户痛点:业务侧

每年双十一高峰压测面临三个主要问题:压测真实性偏差、成本高、无固定压测环境。

>>用户痛点:技术侧

中间件不统一:中间件框架系统不一样,数百个版本应用组件;

时间成本高:改造时间周期太长;

人才储备少:缺少技术专家来做中间件优化。

五、解决方案

适应科技现状,基于JavaAgent全链路压测方案,业务无需改造,JVM层实现压测数据识别和转发。

而在全链路压测阶段会有两个关键特性:

「应用无侵入」的特性避免了业务系统的改造,尤其是涉及到数百应用的改造,不仅成本高,风险也大。

「可观测性」的特性在压测前链路梳理配置,压测中监控告警熔断,压测后性能瓶颈诊断中至关重要。

、全链路压测铁三角

全链路压测是一个非常庞大的体系,这里面涉及到非常多的技术能力,大规模流量仿真,对顺丰和一些双11的流量非常大的互联网企业来讲,要有流量录制和流量回放。流量录制一般是基于脚本去做流量的仿真,但脚本的复杂度有限,很多的链路除了对量有要求,对场景也有很高的要求,通过脚本很难去模拟出真实场景的复杂度的,所以要把生产的流量先录制下来,做相应的脱敏和偏移,然后再通过平台做大规模的这种流量回放。

第二是基于JavaAgent所做的数据安全隔离,包括应用的隔离,以及数据的隔离。全链路压测要常态化、安全。

可观测性在整个压测中有非常重要的地位,包括压测前的内容快速梳理;自动的告警熔断;压测后的性能瓶颈分析,可观测性能够帮助研发快速找到性能瓶颈所在,是一个非常核心的应用。

课堂问答

网友提问:压测过程中,哪些指标是更需要重视的?

讲师解答:压测过程中指标是多方面的,整个的监控体系从基础监控到应用监控、链路监控。都要看平台本身能够提供的类似于apm链路监控,但是在压测过程中间还会看一些基础指标,例如压测时链路正常,但CPU已达到80%-90%的负载,此时已不能继续再压,否则会出现后续问题,数据库同理,有些硬盘容量会在压测过程中持续写入数据,所以压测过程中还需要关注它的容量。

监控是个庞大的体系,单独的apm、应用、基础监控,每一个都是大体系,作为全链路来说,需要关注的是整个链路的综合情况。

网友提问:可观测性在压测中做了什么角色?

讲师解答:压测前是用通过可观测性的半自动化链路配置;压测中是结合监控告警指标,能够做到自动告警和熔断;那压测后的话就是通过agent能够采集到的指标放在压测报告里面,若能够通过apm的指标直接分析,就可以大大加速问题定位的分析效率了。

UGeek大咖说 | 顺丰科技:全链路压测中的可观测性实践相关推荐

  1. 互联网广告请求链路_生产环境的全链路压测应该怎么做?答案都在这里了

    "双11前最后一次全链路压测,所有技术.系统.安全策略与应急预案被一一演练.流量峰值,一秒内有几千万次请求,这意味着一秒会产生数百万次交易."这是2018年阿里双十一前夕战况.随着 ...

  2. 全链路压测体系建设方案的思考与实践

    在阿里淘宝 双11 的过程中,长期以来都是在生产环节做全链路压测的,通过实践我们发现在生产环境中做压测,实际上会和一个 IT 组织的结构.成熟度.流程等紧密相关,所以我们把全链路压测从简单的制作范围内 ...

  3. “敏捷版”全链路压测

    作者:子矜 审核&校对:风云.雨芙 编辑&排版:雯燕 客户的故事 全链路压测被誉为大促备战的 "核武器" ,如果之前有关注过阿里双 11 相关的技术总结,对 &qu ...

  4. dubbo 服务压测_全链路压测资料汇总——业内大厂解决方案

    最近忙于公司的全链路压测平台调研和技术规划文档输出工作,参考了全网能搜到的业内大厂的全链路压测方案,这里做个汇总,以及将个人认为可以落地的方案做一个关键点整理. 技术链接 滴滴全链路压测解决之道 阿里 ...

  5. 干货 | 应用性能提升 70%,探究 mPaaS 全链路压测的实现原理和实施路径

    简介:全链路压测方案下,非加密场景下至少有 70% 的性能提升,加密场景下 10%的性能提升,并在 MGS 扩容完成后可实现大幅的性能提升,调优的结果远超预期. 业务背景 随着移动开发行业的步入存量时 ...

  6. 阿里巴巴:全链路压测体系建设方案的思考与实践

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 后台回复"k8s",可领取k8s资料 在阿里淘宝 双1 ...

  7. 技术干货 | 应用性能提升 70%,探究 mPaaS 全链路压测的实现原理和实施路径

    简介: 全链路压测方案下,非加密场景下至少有 70% 的性能提升,加密场景下 10%的性能提升,并在 MGS 扩容完成后可实现大幅的性能提升,调优的结果远超预期. 业务背景 随着移动开发行业的步入存量 ...

  8. 独家揭秘 | 阿里怎么做双11全链路压测?

    阿里妹导读:全链路压测是阿里的首创,我们将从工作内容.操作过程.运行总结等多个方向来介绍下阿里内部典型电商活动(如双11准备),以给大家展示一个完整的压测流程,帮助更多的企业和用户更好的完成性能测试. ...

  9. 【独家揭秘】阿里怎么做双11全链路压测?| CSDN 博文精选

    戳蓝字"CSDN云计算"关注我们哦! 作者 |  牛兔 转自 | CSDN企业博客 责编 | 阿秃 阿里妹导读:全链路压测是阿里的首创,我们将从工作内容.操作过程.运行总结等多个方 ...

最新文章

  1. 微云存照片会变模糊吗_保存照片的最佳方式是网盘、硬盘、SSD还是光盘?
  2. 原始尺寸_螺母尺寸检测,螺丝螺母外观检测设备
  3. 浅析网站SEO与网站建设密不可分的关系
  4. 转载:xml文件中的特殊字符
  5. [XSY] 分割(dfs树)
  6. web前端-回调函数sort详解
  7. linux与windows编码转化
  8. 产品质量的基石——微软Bug管理
  9. 服务器文档读取不了,服务器读取不到内存
  10. 话里话外:按单制造(MTO II)信息化管理特点
  11. 互联网高可用架构技术实践
  12. 【自学笔记】三维copula的构建与分布函数的求解
  13. 融合记忆法的程序员高效自学方法
  14. 北京外国语大学计算机考研,北京外国语大学考研难吗?一般要什么水平才可以进入?...
  15. 2016 Multi-University Training Contest 2 1012 La Vie en rose (暴力)
  16. Linux 怎么防止 ssh 被暴力破解
  17. 共享店铺系统如何设计?具体如何做?
  18. 妙用Java 8中的 Function接口 消灭if...else...
  19. Open vSwitch安装指定版本ovs
  20. crash工具使用方法

热门文章

  1. 计算机操作系统基础笔记
  2. python中的f函数_Python/numpy/pandas中函数f(x,y)结果的矩阵
  3. 【前端学习】D1:HTML简介与HTML标签
  4. 重庆冲加二氧化碳气体(建设4L钢瓶)在哪儿
  5. 重庆2021高考英语成绩查询,重庆市教育考试院:2021年重庆高考成绩查询入口、查分系统...
  6. PyCharm-安装步骤
  7. 爬虫进阶 之 Scrapy 框架 1(实例: 爬取ITcast 的教师信息)
  8. 脑壳痛的python基础
  9. Ubuntu20.04安装EasyConnect失败
  10. 无线调试 ADB 使用配对码链接Android