热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于yum:Gartner-APM-魔力象限技术解读全量存储-No-按需存储YES

调用链记录了残缺的申请状态及流转信息,是一座微小的数据宝库。然而,其宏大的数据量带来的老本及性能问题是每个理论利用Tracing同学绕不开的难题。如何以最低的老本,按需记录最有价值的链路及其关联数据,是本文探讨的次要话题。外围关键词是:边缘计算+冷热数据拆散。如果你正面临全量存储调用链老本过高,而

简介:在云原生时代,充分利用边缘节点的计算和存储能力,联合冷热数据拆散实现高性价比的数据价值摸索曾经逐步成为 APM 畛域的支流。

作者:夏明(涯海)

调用链记录了残缺的申请状态及流转信息,是一座微小的数据宝库。然而,其宏大的数据量带来的老本及性能问题是每个理论利用 Tracing 同学绕不开的难题。如何以最低的老本,按需记录最有价值的链路及其关联数据,是本文探讨的次要话题。 外围关键词是:边缘计算 + 冷热数据拆散。 如果你正面临全量存储调用链老本过高,而采样后查不到数据或图表不准等问题,请急躁读完本文,置信会给你带来一些启发。

边缘计算,记录更有价值的数据

边缘计算,顾名思义就是在边缘节点进行数据计算,赶时髦的话也能够称之为“计算左移”。在网络带宽受限,传输开销与全局数据热点难以解决的背景下, 边缘计算是寻求老本与价值均衡最优解的一种无效办法。

Tracing 畛域最罕用的边缘计算就是在用户过程内进行数据过滤和剖析。而在私有云环境,用户集群或专有网络外部的数据加工也属于边缘计算,这样能够节俭大量的公网传输开销,并扩散全局数据计算的压力。

此外,从数据层面看,边缘计算一方面能够筛选出更有价值的数据,另一方面能够通过加工提炼数据的深层价值,以最小的老本记录最有价值的数据。

筛选更有价值的数据

链路数据的价值散布是不平均的。 据不齐全统计,调用链的理论查问率小于百万分之一。全量存储数据不仅会造成微小的老本节约,也会显著影响整条数据链路的性能及稳定性。如下列举两种常见的筛选策略。

• 基于链路数据特色进行调用链采样上报(Tag-based Sampling)。 比方错/慢调用全采,特定服务每秒前N次采样,特定业务场景自定义采样等。下图展现了阿里云 ARMS 自定义采样配置页面,用户能够依据本身须要自在定制存储策略,理论存储老本通常小于原始数据的 5%。

• 异样场景下主动保留关联数据现场。 咱们在诊断问题根因时,除了调用链之外,还须要联合日志、异样堆栈、本地办法耗时、内存快照等关联信息进行综合判断。如果每一次申请的关联信息全都记录下来,大概率会造成零碎的解体。因而, 是否通过边缘计算主动保留异样场景下的快照现场是掂量 Tracing 产品优劣的重要规范之一。 如下图所示,阿里云 ARMS 产品提供了慢调用线程分析,内存异样 HeapDump 等能力。


无论哪种筛选策略,其核心思想都是 通过边缘节点的数据计算,抛弃无用或低价值数据,保留异样现场或满足特定条件的高价值数据。 这种基于数据价值的选择性上报策略性价比远高于全量数据上报,将来可能会成为 Tracing 的支流趋势。

提炼数据价值

除了数据筛选,在边缘节点进行数据加工,比方预聚合和压缩,同样能够在满足用户需要的前提下,无效节俭传输和存储老本。

• 预聚合统计:在客户端进行预聚合的最大益处, 就是在不损失数据精度的同时大幅缩小数据上报量。 比方,对调用链进行 1% 采样后,依然能够提供精准的服务概览/上下游等监控告警能力。

• 数据压缩:对反复呈现的长文本(如异样堆栈,SQL 语句)进行压缩编码,也能够无效升高网络开销。联合非关键字段模糊化解决成果更佳。

冷热数据拆散,低成本满足个性化的后聚合剖析需要

边缘计算能够满足大部分预聚合剖析场景,然而无奈满足多样化的后聚合剖析需要,比方某个业务须要统计耗时大于3秒的接口及起源散布,这种个性化的后聚合剖析规定是无奈穷举的。而当咱们无奈事后定义剖析规定时,貌似就只能采纳老本极高的全量原始数据存储。难道就没有优化的空间么?答案是有的,接下来咱们就介绍一种低成本解决后聚合剖析问题的计划——冷热数据拆散。

冷热数据拆散计划简述

冷热数据拆散的价值根底在于用户的查问行为满足工夫上的局部性原理。 简略了解就是,最近的数据最常被查问,冷数据查问概率较小。例如,因为问题诊断的时效性,50% 以上的链路查问剖析产生在 30分钟内,7天之后的链路查问通常集中在错慢调用链。实践根底成立,接下来探讨如何实现冷热数据拆散。

首先,热数据存在时效性,如果只需记录最近一段时间内的热数据,对于存储空间的要求就会降落很多。另外,在私有云环境下,不同用户的数据人造具备隔离性。因而,在用户 VPC 外部的热数据计算和存储计划就具备更优的性价比。

其次,冷数据的查问具备指向性,能够通过不同的采样策略筛选出满足诊断需要的冷数据进行长久化存储。例如错慢采样,特定业务场景采样等。因为冷数据存储周期较长,对稳定性要求较高,能够思考在 Region 内对立治理。

综上所述,热数据存储周期短,成本低,但能够满足实时全量后聚合剖析需要;而冷数据通过精准采样后数据总量大幅降落,通常只有原始数据量的 1% ~10%,并能够满足大多数场景的诊断诉求。两相结合,实现了老本与体验的均衡最优解。国内外当先的 APM 产品,如 ARMS、Datadog、Lightstep 均采纳了冷热数据拆散的存储计划。

热数据实时全量分析

链路明细数据蕴含了最残缺最丰盛的的调用信息,APM 畛域最罕用的服务面板、上下游依赖、利用拓扑等视图均是基于链路明细数据统计得出。基于链路明细数据的后聚合剖析能够依据用户个性化需要更无效的定位问题。然而,后聚合剖析的最大挑战是要基于全量数据进行统计,否则会呈现样本歪斜导致最终论断离理论相差甚远。

阿里云 ARMS 作为 2021 年 Gartner APM 魔力象限中国惟一入选云厂商,提供了 30分钟内热数据全量分析的能力,能够实现各种条件组合下的过滤与聚合,如下图所示:

冷数据长久化采样剖析

全量调用链的长久化存储老本十分高,而前文提到 30分钟后调用链的理论查问率有余百万分之一,并且大多数的查问集中在错慢调用链,或满足特定业务特色的链路,置信常常排查链路问题的同学会有同感。因而,咱们应该只保留大量满足精准采样规定的调用链,从而极大的节俭冷数据长久化存储老本。

那么精准采样应该如何实现呢?业界罕用的办法次要分为头部采样(Head-based Sampling)和尾部采样(Tail-based Sampling)两种。头部采样个别在客户端 Agent 等边缘节点进行,例如依据接口服务进行限流采样或固定比例采样;而尾部采样通常基于全量热数据进行过滤,如错慢全采等。

最现实的采样策略应该只存储真正须要查问的数据,APM 产品须要提供灵便的采样策略配置能力与最佳实际,用户联合本身业务场景进行自适应的调整。

结语

当越来越多的企业和利用上云,私有星散群规模爆发式增长,“老本”将是企业用云的要害掂量因素。而在云原生时代,充分利用边缘节点的计算和存储能力,联合冷热数据拆散实现高性价比的数据价值摸索曾经逐步成为 APM 畛域的支流。全量数据上报、存储、再剖析这种传统计划将面临越来越大的挑战。将来会如何,让咱们刮目相待。

原文链接
本文为阿里云原创内容,未经容许不得转载。


推荐阅读
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • mysql-cluster集群sql节点高可用keepalived的故障处理过程
    本文描述了mysql-cluster集群sql节点高可用keepalived的故障处理过程,包括故障发生时间、故障描述、故障分析等内容。根据keepalived的日志分析,发现bogus VRRP packet received on eth0 !!!等错误信息,进而导致vip地址失效,使得mysql-cluster的api无法访问。针对这个问题,本文提供了相应的解决方案。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 本文介绍了深入浅出Linux设备驱动编程的重要性,以及两种加载和删除Linux内核模块的方法。通过一个内核模块的例子,展示了模块的编译和加载过程,并讨论了模块对内核大小的控制。深入理解Linux设备驱动编程对于开发者来说非常重要。 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
author-avatar
360691894_8a5c48
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有