Software systems are evolving rapidly from single tightly-coupled architecture to microservice architecture. The microservice architecture has multiple advantages including strong scalability, short development circle, fast delivery and so on. However, the performance diagnosis procedure faces multi-fold challenges in such an environment such as complex dependent relations, continuous delivery and updates, massive monitoring data and so on. Conventional approaches of performance diagnosis do not work well in microservice environment because of a high performance overhead, unable to adapt to service updates, and coarse-grained localization of root causes. To overcome the challenges and break the limitations of existing work, this project will study the following topics around performance diagnosis in microservice environment. 1) Real-time request tracking based on dynamic code injection, which is used to provide QoS data to anomaly detection and performance diagnosis. 2) An adaptive anomaly detection approach towards user experience, which is used to detect anomalies in real time. The approach can automatically adapt to service updates. 3) A parallel construction algorithm of causal relations between performance parameters based on "statistical-temporal" analytics, which is used to provide the basis for fine-grained localization. 4) Fine-grain root-cause ranking based on weighted PageRank, which is used to localize root cause precisely. 5) A prototype validation approach based on Kubernetes platform and "TianHe II" platform. The ultimate goal of this project is to reduce the mean time to recovery, and increase the performance and availability of microservice systems.
软件系统正快速从单体紧耦合架构向微服务架构演进。微服务架构具有扩展能力强、开发周期短、交付速度快等优点,但是性能异常诊断在微服务环境中却面临多重挑战如复杂的依赖关系、连续的交付和更新、海量的监控数据等。传统的诊断方法已经无法适应新环境,体现为性能开销过大、不能自适应服务更新、根因定位粒度较粗等。为了克服挑战,突破现有方法的局限,本项目围绕微服务环境中的性能诊断问题,研究:1)基于动态代码注入的实时全链路请求追踪方法,为性能异常检测和诊断提供QoS数据;2)面向用户体验的自适应异常检测方法,用于实时检测服务异常,并能自适应服务更新;3)基于“统计-时态”分析的性能参数因果关系的并行构建方法,为细粒度根因定位提供依据;4)基于加权PageRank的细粒度根因排序方法,用于精确的根因定位;5)基于Kubernetes平台和“天河”平台的原型验证方法。最终减少系统恢复时间,提高性能和可用性。
微服务架构具有扩展能力强、开发周期短、交付速度快等优点,已经在企业系统中大规模使用,并成为主流的软件架构之一。但是,异常诊断在微服务环境中却面临多重挑战如复杂的依赖关系、连续的交付和更新、海量的监控数据等。传统的诊断方法已经无法适应新环境,体现为性能开销过大、不能自适应服务更新、根因定位粒度较粗等。为了克服挑战,本项目在国家自然基金委支持下,围绕面向容器化微服务架构的软件性能诊断问题,从可观测性、异常检测和根因定位等几个角度进行了深入的研究。主要的研究内容包括:面向微服务系统的可观测性方法;基于动态代码注入的实时全链路请求追踪方法;面向用户体验的自适应异常检测方法;基于“统计-时态”分析的性能参数因果关系的并行构建方法;基于加权PageRank的细粒度根因排序方法;微服务系统测试床构建方法; 基于贝叶斯优化的系统配置优化以及微服务系统自动伸缩方法等7方面的内容,目的是通过研究提高微服务系统的性能和可靠性。. 项目产生了一系列具有创新性的成果。在监控方面,实现统一的性能数据采集代理,采集性能数据并存储到时序数据库中; 实现了基于动态插桩的实时全链路请求追踪。在异常检测方面,提出了基于Matrix Sketch 的无监督异常检测算法、基于时空特征融合的无监督异常检测算法,提出了基于主动学习的多维时间序列异常检测方法、基于日志的异常检测和定位方法,并且实现了基于微服务的异常检测原型系统。在因果分析方面,提出了基于时间和统计分析的多维时间序列的因果关系构建方法。在根因定位方面,提出了基于PageRank和加权Spectrum的细粒度根因定位方法以及基于知识图谱的故障定位方法等。实现了多个原型系统,并在真实的环境中部署,验证系统的有效性、准确性和性能。最终,将异常检测和根因定位的精度提高到90%以上,将异常定位的时间控制在1分钟以内。. 项目共产生了16篇学术论文,其中CCF A类中英文论文5篇,IEEE Transactions 3篇,申请专利8项,授权专利3项,而且开源了多个算法、软件和数据集。
{{i.achievement_title}}
数据更新时间:2023-05-31
玉米叶向值的全基因组关联分析
正交异性钢桥面板纵肋-面板疲劳开裂的CFRP加固研究
特斯拉涡轮机运行性能研究综述
硬件木马:关键问题研究进展及新动向
基于SSVEP 直接脑控机器人方向和速度研究
基于数据挖掘的服务器端软件性能分析与诊断方法研究
面向工程设计的有限元软件系统架构研究
面向服务的软件理论、方法及其应用
面向服务在线协同软件测试技术研究