更新时间:2023-08-02 GMT+08:00

基本概念

应用拓扑

应用拓扑是针对应用的调用关系和依赖关系的可视化展示。应用拓扑图主要是由圆圈、箭头连线、资源组成。每个箭头连线代表一个调用关系。连线上的数据表示请求量、平均RT和error数。拓扑使用平均RT进行量化,使用不同颜色对不同区间RT值进行标识,方便用户快速发现问题,并进行定位。

  • 数据库:当数据库调用时间 ≥100ms时会被标记为黄色,当数据库调用时间≥200ms时会被标记为红色。
  • 缓存:当缓存调用时间 ≥10ms时会被标记为黄色,当缓存调用时间≥30ms时会被标记为红色。
  • 其他接口调用:当其他接口调用时间 ≥500ms时会被标记为黄色,当其他接口调用时间≥1000ms时会被标记为红色。
  • 当出现error数大于0时会被标记为红色。
图1 应用拓扑

调用链

调用链跟踪并记录应用的调用过程,可视化地还原应用请求在系统中的执行路线和对应状态,用于性能及故障快速定位。

APM Agent

APM Agent通过字节码增强技术进行调用埋点,运行在应用所在的服务器上,实时采集应用性能相关的数据,所采集的数据及用途参见服务声明。安装APM Agent是使用APM服务的前提。

URL跟踪

在应用的调用关系追踪场景中,可以将某个重要的调用关系进行标示,称之为URL跟踪,比如电子商务系统的创建订单的接口调用,是从“用户请求 > webserver > DB > webserver > 用户请求”的完整过程。

被标示为URL跟踪的调用关系,APM会重点跟踪由此引起的下游的一系列调用。通过URL跟踪可以让用户跟踪某一些重要接口调用与下游的服务调用关系,从更细粒度角度发现问题。

Apdex

Apdex全称是Application Performance Index,是由Apdex联盟开发的用于评估应用性能的工业标准。Apdex标准从用户的角度出发,将对应用响应时间的表现,转为用户对于应用性能的可量化范围为0-1的满意度评价。

  • Apdex的原理

Apdex定义了应用响应时间的门槛为T(即Apdex阈值,T由性能评估人员根据预期性能要求确定),然后根据应用响应时间结合T定义了三种不同的性能表现:

Satisfied(满意):应用响应时间低于或等于T,比如T为1.5s,则一个耗时1s的响应结果则可以认为是satisfied的。

Tolerating(可容忍):应用响应时间大于T,但同时小于或等于4T。假设应用设定的T值为1s,则4*1=4s为应用响应时间的容忍上限。

Frustrated(烦躁期):应用响应时间大于4T。

  • APM如何计算Apdex

    APM中,Apdex阈值即请求响应达到满意程度的最大时间。应用响应时延即服务时延,Apdex取值范围为0~1,计算公式如下:

    Apdex=(满意样本+可容忍样本*0.5)/样本总数

CMDB配置管理数据库

CMDB全称是Configuration Management DataBase,通过CMDB,可以结构化的组织并展示应用相关的资源配置信息,方便用户对应用进行全方位的监控和管理。主要概念如下:

  • 应用: 一个应用代表一个逻辑单元,是一个全局概念,各个region都可以看到相同的应用信息,比如一个租户下面比较独立的功能模块可以定义为一个应用。
  • 子应用:在一个应用下面可以创建多个子应用,主要起文件夹和管理的功能。子应用为全局概念,当前最多支持三层子应用。
  • 组件:组件指一个应用程序或者微服务,为全局概念,一般跟下面的环境一起组合使用,一个组件可以包含一个或者多个环境。比如一个订单的应用程序,包含功能测试环境,压力测试环境,预发环境以及现网环境等。
  • 环境:一个组件或者程序,由于部署不同的配置参数,形成多个环境。每个环境都有region属性,可以通过region信息可实现环境的过滤,也可以在环境上打上一个或多个标签,通过标签进行环境过滤。
  • 实例:实例是环境下的一个进程,名称由主机名+ip+实例名称组成。一个环境一般是部署在不同主机上或不同容器中,若部署在同一主机上,会通过实例名称进行区分。
  • 环境标签:环境标签是在环境上的一个属性,多个环境可能具有相同的标签,可以通过标签对环境进行过滤。标签也承载公共配置能力,比如在某个标签上设置的配置,各个具有标签的环境都共享。需注意环境标签定义在应用层面,也就是说一个标签只能添加在本应用下的环境,不能跨应用进行。