基于异构图的大规模微服务系统性能问题诊断

简介:本文介绍由南开大学、清华大学、腾讯、国家超级计算天津中心共同合作的论文:基于异构图的大规模微服务系统性能问题诊断。该论文已被IEEE Transactions on Services Computing期刊录用

论文标题:Diagnosing Performance Issues for Large-Scale Microservice Systems with Heterogeneous Graph

作者:陶磊,卢香琳,张圣林,栾佳琪,李英可,李明杰,李则言,于庆阳,谢虎成,徐锐杰,胡宸源,杨灿群,裴丹


微服务系统的可用性对业务运营和企业声誉至关重要。然而,微服务系统的动态性和复杂性给大规模微服务系统的性能问题诊断带来了重大挑战。在调查了腾讯公司数百个真实的性能问题案例后,文章发现,以前的故障排除方法未能准确定位根本原因,因为它们忽略了因果关系与调用关系之间的不一致性。因此,文章提出了一种新方法——MicroDig,用于诊断大规模微服务系统的性能问题。具体来说,MicroDig 构建了一个异构传播图,以捕捉调用与微服务之间的因果关系。然后,它进行面向异构性的随机游走(Heterogeneity-Oriented Random Walk,HORW),以确定导致问题的微服务。

文章在三个数据集上评估了 MicroDig 的性能,这些数据集包括来自腾讯的60个真实性能问题案例、来自广泛使用的开源微服务系统中收集的80个手动注入的问题以及来自一家全球顶级商业银行使用的电子商务系统中的128个性能问题。MicroDig 在这三个数据集上的Top-3准确率分别达到了94.1%、85.5%和93.8%,显著优于六种流行的基准方法。

背 景

在真实的生产环境中,微服务的主要性能问题是高延迟和低可用性,这可以从超时调用次数和异常调用次数中分别感知到。性能问题可能由于多种原因引起,例如主机资源有限、硬件可用性和网络不稳定。当某个服务出现性能问题时,这些异常会沿着调用拓扑传播,最终可能影响到微服务系统提供的外部服务。为了保证卓越的用户体验,运维人员配置了服务级别指标(SLI)和服务级别目标(SLO)来监控微服务系统的可用性。当某个服务的运行状态未能达到SLO标准时,就会检测到性能问题。由于服务数量众多、关系复杂且动态变化,以及微服务系统中调用关系与因果关系之间的不一致性,确定根本原因仍然具有挑战性。

研究动机

有些工作将调用关系视为异常传播的因果关系,这在文章提到的场景中过于简化。图1展示了一个真实的性能问题,其中A、B和C分别代表三个微服务。A调用B和B调用C的异常调用次数都增加了,然而,当运维人员深入调查细节时,他们发现C没有任何有意义的错误报告。另一方面,来自B的调用(即B调用C)是异常的,这是因为B耗尽了文件描述符,无法与C建立新的连接。总之,A调用B和B调用C的异常率是由B的系统资源所导致的,在这种情况下,B是根本原因服务,这无法通过沿着调用关系进行搜索来定位。在调查了腾讯数百个性能问题后,文章发现超过35%的性能问题受到这类情况的影响。

基于上述观察,文章发现一个调用的异常不能仅直接归因于下游服务。相反,调用方和被调用方都可能导致这种情况。因此,仅通过调用关系来捕捉异常传播是不够的。文章提出了一种图模型即异构传播图,来比调用关系更精确地描述因果关系。

在这里插入图片描述

图1 一个真实的性能问题案例

方法设计

MicroDig的核心框架如图2所示。当微服务系统的监控组件检测到某个服务的运行状态未能达到SLO标准时,MicroDig会被触发以定位问题根因。

在这里插入图片描述

图2 MicroDig的核心框架

MicroDig由三个关键阶段组成:

关联调用识别阶段:MicroDig从问题微服务开始搜索,找到与性能问题相关的候选微服务。大规模微服务系统通常会在短时间内产生海量的服务调用,其中大量的服务调用与性能问题无关。为了更准确地确定与性能问题相关的微服务,文章首先选择构建端口级别的调用图。然后通过对图进行BFS(广度优先搜索)和异常检测来保留相关的调用和相应的微服务。最后,将图中的端口级节点聚合到服务级,如图3(b)所示。文章首先检测异常端口,因为如果先进行端口聚合,则异常端口级调用可能会被同一微服务的正常调用淹没,这可能会导致根因服务在这一步被过滤掉。

异构传播图构建阶段:MicroDig以微服务之间的调用和候选微服务作为节点,构建异构传播图。在关联调用识别阶段构建的关联图是有向的,其边的方向表示服务之间的调用关系。关联图不能直接用作根因定位的因果图。文章基于关联图构建了一个反映调用和服务之间因果关系的异构传播图。如图3(c)所示,文章首先将关联图中的边(即边S1→S2、边S2→S3等)抽象为调用节点(表示为C12、C23等),并将关联图中的节点抽象为服务节点(表示为S1、S2等)。然后,文章在因果图中添加调用节点与服务节点之间的边和两个不同调用节点之间的边。最后,构建具有不同类型节点和边的异构传播图,在传播图中,边是从原因指向结果。为了执行根因定位,文章翻转传播图中的每条边,并使边从结果指向原因。

根因服务定位阶段:提出了一种面向异构性的随机游走算法,在异构图上进行根因微服务排名。通常在因果图上使用排序算法来找出根本原因,然而传统的排序算法不能直接应用于异构因果图。因此,文章提出了一种新颖的排名算法,即面向异构性的随机游走(HORW),结合相关系数和异常检测结果进行根因微服务排名。

在这里插入图片描述

图3 异构传播图的构建过程

实验评估

为了评估MicroDig的性能,文章进行了广泛的评估实验,使用了从全球顶级多媒体服务提供商腾讯收集的60个真实性能问题、从广泛使用的开源微服务系统Train-Ticket中收集的80个手动注入的性能问题,以及从全球顶级商业银行的电子商务系统中收集的128个性能问题。最终的实验结果如表1所示,在真实世界数据集和模拟数据集上,MicroDig在94.1%、85.5%和93.8%的性能问题中将真正的根因微服务排名在前三,分别比六种流行的基准方法高出16.0%、32.2%和88.5%。
在这里插入图片描述

图片表1 实验结果

总 结

文章提出了一种名为MicroDig的方法,用于大规模微服务系统中性能问题的自动根因定位。MicroDig识别关联调用,并基于动态微服务调用构建异构传播图,再应用面向异构性的随机游走(HORW)来发现异常传播模式并定位问题服务。通过使用从腾讯收集的真实性能问题以及从Train-Ticket和中国建设银行收集的手动注入问题,证明了MicroDig的有效性和效率。与六种流行的根因定位方法相比,MicroDig表现出色。

总体而言,MicroDig在性能问题自动根因定位方面展现了很大的潜力和实际应用价值,有效解决了大规模微服务系统中性能问题的根因定位难题,显著提高了诊断的准确性和效率。


欢迎报名2024 CCF国际AIOps挑战赛!

2024 (第七届)CCF国际AIOps挑战赛由中国计算机学会(CCF)主办,中国计算机学会互联网专委会、清华大学、中国科学院计算机网络信息中心承办,中兴通讯、北京智谱华章科技有限公司、中南大学计算机学院、清华大学计算机科学与技术系、北京必示科技有限公司协办。同时,本届AIOps挑战赛也是OpenAIOps社区成立之后第一届重要年度赛事。

本次挑战赛以“基于检索增强的运维知识问答”为赛题,旨在探索如何结合领域私有技术文档进行高效私域知识问答。首次采用大模型检索增强(RAG)技术,基于中兴5G领域运维技术文档,揭示在通用大语言模型基座下,垂直领域知识问答面临的领域知识缺失、公私域知识冲突、多模态图表并存等一系列挑战。

目前挑战赛报名进行中,欢迎报名参赛!(报名网址:https://aiops-challenge.com)更多赛事相关信息将在社区“智能运维前沿”公众号发布,同时OpenAIOps社区群将提供赛事通知、技术答疑,有意者可扫码添加官方微信号(OpenAIOps社区小助手)入群。

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/18945.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker删除所有容器

笔记 要使用 Docker 删除所有容器(无论是停止的还是正在运行的),可以按照以下步骤操作: 1. **删除所有正在运行的容器**: 首先,您需要停止所有正在运行的容器。可以使用以下命令: dock…

MATLAB分类与判别模型算法:K-近邻法(KNN)分类代码 【含Matlab源码 MX_001期】

算法简介: K-近邻法(KNN)是一种简单而有效的分类算法,也可用于回归问题。它的基本原理是根据待分类样本与训练样本的距离,选取最近的K个样本进行投票决定分类。该算法无需训练过程,而是利用训练数据集直接…

小白windows系统从零开始本地部署大模型全记录

大家好,最近两年大语言模型风靡全球,最近,不少开源大模型,将模型部署到自己的电脑上,用个性化的数据微调想必是不少人的愿望,这次,让我来分享从hugging face上下载部署chatglm3-6b中的经验。 1.…

自动控制: 最小二乘估计(LSE)、加权最小二乘估计(WLS)和线性最小方差估计

自动控制: 最小二乘估计(LSE)、加权最小二乘估计(WLS)和线性最小方差估计 在数据分析和机器学习中,参数估计是一个关键步骤。最小二乘估计(LSE)、加权最小二乘估计(WLS&…

wifi贴码推广哪家靠谱?

如今越来越多的人想轻资产创业,WIFI贴码是共享行业最无成本的创业项目了,而在选择厂商的时候,大家就想要知道哪家公司靠谱,更好、更便宜、可靠。那么wifi贴码推广哪家靠谱?别急,下面小编将带你一起了解。 目…

OpenAI开始训练新的前沿模型——但GPT-5至少在90天内不会推出

ChatGPT 制造商 OpenAI 今早宣布,已开始训练其新的“前沿模型”,并成立了一个新的安全委员会,由现任董事会成员 Bret Taylor(OpenAI 董事会主席兼客户服务初创公司 Sierra AI 联合创始人、前谷歌地图负责人和前 Facebook 首席技术…

BGP路由策略实验

一、实验拓扑 二、IP分配(骨干) R1: 0/0/0 15.0.0.1 24 0/0/1 18.0.0.2 24 0/0/2 19.0.0.1 24 R2: 0/0/0 16.0.0.1 24 0/0/1 15.0.0.2 24 R3: 0/0/0 17.0.0.2 24 0/0/1 18.0.0.1 24 R4: 0/0/0 16.0…

元宇宙vr工业产品展示空间降低研发成本

元宇宙产品虚拟展厅搭建编辑器为您提供了一个自助式元宇宙场景搭建的绝佳平台。无论您是设计公司、摄影公司、营销公司还是教育机构,我们都能为您量身打造专属的元宇宙解决方案,满足您的多样化需求。 元宇宙产品虚拟展厅搭建编辑器具备强大的3D编辑功能&…

【吊打面试官系列】Java高并发篇 - ThreadLocal 是什么?有什么用?

大家好,我是锋哥。今天分享关于 【ThreadLocal 是什么?有什么用?】面试题,希望对大家有帮助; ThreadLocal 是什么?有什么用? ThreadLocal 是一个本地线程副本变量工具类。主要用于将私有线程和该…

dust3r部署踩坑全记录

目前dust3r是三维重建最新最好的技术,运用了ViT编码器、Transformer、注意力机制、回归等技术,无需相机参数标定。 但是我部署过程中有很多坑,记录一下。 1.OSError: CUDA_HOME environment variable is not set. Please set it to your CU…

数字工厂管理系统可以和哪些软件集成

随着工业4.0时代的到来,数字工厂管理系统已成为制造业转型升级的核心驱动力。数字工厂管理系统通过集成各种软件和技术,实现了生产过程的数字化、网络化和智能化,大大提高了生产效率和管理水平。本文将探讨数字工厂管理系统可以与哪些软件集成…

Axure RP软件汉化操作步骤

随着互联网产业的发展,设计师已经成为一个越来越受欢迎的职业,设计软件已经成为设计师必不可少的工具。说到设计软件,不得不说的是 Axure rp ,越来越多的设计师使用它来设计产品原型,作为美国 Axure Software Solution…

OrangePi Kunpeng Pro体验——安装Hass与驱动SPI小屏幕

OrangePi Kunpeng Pro 是一款面向开发者和爱好者的高性能开发板。在本次测评中,主要将以前的一些代码在该开发板上实现,包括docker部署hass,引脚驱动SPI小屏幕。中间遇到了一些小小问题,但都成功了,一起来试试吧~ 一、…

删除中间节点

题目链接 删除中间节点 题目描述 注意点 node既不是链表头节点,也不是链表尾节点 解答思路 将当前节点的值替换为下一个节点的值,并将当前节点的next指针设置为下一个节点的next指针,可以理解为删除了当前节点 代码 /*** Definition f…

考研计组chap1计算机系统概述

目录 一、计算机发展历程(不考了) 二、计算机硬件的基本组成 3 1.五个部分 (1)输入设备 (2)控制器 (3)运算器 (4)(主)存储器 (5&#xff0…

被忽视的模块化领域:聚合、结算与执行层

原文标题:《Aggregation, settlement, execution》撰文:Bridget Harris 编译:Chris,Techub News 在关注度和创新方面,模块化堆栈的各个部分并不一样,虽然之前有许多项目在数据可用性(DA&#xf…

[AI OpenAI] OpenAI董事会成立安全与保障委员会

这个新委员会负责就所有OpenAI项目的关键安全和保障决策提出建议;在90天内提出建议。 今天,OpenAI董事会成立了一个由主席Bret Taylor、Adam D’Angelo、Nicole Seligman和Sam Altman(CEO)领导的安全与保障委员会。该委员会将负责…

虹科Pico汽车示波器 | 免拆诊断案例 | 2017款吉利帝豪GL车发动机偶尔无法起动

故障现象  一辆2017款吉利帝豪GL车,搭载JLC-4G18发动机和手动变速器,累计行驶里程约为39.3万km。车主反映,该车发动机偶尔无法起动。故障发生频率比较频繁,冷机状态下故障比较容易出现。 故障诊断  接车后试车,故…

【Windows】本地磁盘挂载 Minio 桶

目录 1.软件安装安装winfsp支持安装rclone 2.新建rclone远程存储类型S3服务类型验证方式地区终端地址ACL服务端加密KMS 3.挂载存储盘 1.软件安装 安装winfsp支持 下载地址 或 下载地址2 文件为msi文件,下载后双击直接安装即可,可以选择安装路径 安装r…

手机号码携号转网查询保障用户权益、信息透明、优化用户体验

携号转网服务是指在同一本地网范围内,蜂窝移动通信用户(不含物联网用户)变更签约的基础电信业务经营者而用户号码保持不变的一项服务。近年来,随着通信行业的不断发展,携号转网服务已成为满足用户个性化需求、提升服务…