首页
学习
活动
专区
圈层
工具
发布
首页标签应用性能监控

#应用性能监控

如何定义事务?

已采纳
事务是业务系统中完成某一业务操作的一组用户请求。例如,电商业务系统中的提交订单、OA 系统中的审批签署等。 单个的用户请求是事务的一个实例。事务属于业务系统,可以穿透和跨越整个系统中的业务系统以及业务系统中的应用,以第一个收到请求的应用为事务的入口应用,穿透的其他应用是该事务的下游应用,当事务穿透和跨越应用时,在下游应用上的访问不再产生新的事务。入口应用所在的业务系统为该事务所属的业务系统,当事务穿透和跨越业务系统时,在下游的业务系统不再生成新的事务,而是依然属于入口业务系统。... 展开详请

如何定义服务接口?

已采纳

服务接口是业务系统中非事务入口应用(下游应用)中的一组服务请求,通常是事务请求在某个应用上的一段请求。例如认证接口或数据查询接口,单个的服务请求是服务接口的一个实例。每个服务接口都属于具体的一个应用。

如何定义外部服务?

已采纳

当前应用通过探针支持的远程调用框架,发起远程调用,此时记为外部服务(例如 HTTP 的一个 URL),即为一个请求 A 里又调用了另一个请求 B,那么另一请求 B 则为外部服务。

探针是否会影响应用性能?

已采纳
探针(Agent)工作原理是在原有业务代码中动态插入采集性能的相关代码,并且随着原有代码执行而执行。因此探针不可避免、或多或少都会产生额外的性能消耗。 在业务高峰期,为了把性能问题带来的影响降到最低,我们在探针端引入了熔断机制,即根据预设置的阈值(例如 CPU、GC 等),探针会判断当前系统资源使用情况并采取相应措施。例如,当高于阈值时,探针会停止采集工作,减少对资源的消耗。低于阈值探针会恢复采集工作。... 展开详请

Java 探针采集原理是什么?

已采纳
Java Agent 基于Java JDK 提供的 Instrumentation 机制,在 class 文件被加载时,调用 transform 方法,通过字节码技术,动态对 Framework、数据库、NoSQL、Web Service、组件等特定方法实施监控,从而获得方法执行时间、数据库调用时间、NoSQL 响应时间以及外部服务响应时间;并在这部分时间超过一定阈值时,抓取调用堆栈来进行进一步问题诊断。 ?Instrumentation JDK 中介绍 Java Agent 如下:Instrumentation 类为 JVM 上运行时的程序提供测量手段。大多数工具通过 Instrumenation 修改方法字节码实现收集数据目的。这部分通过 Instrumentaion 搜集数据的工具(包括 monitoring agents、profilers、coverage analyzers 和 event loggers)不会改变程序的状态和行为。... 展开详请

PHP 探针采集原理是什么?

已采纳

Php agent 是一个 PHP 扩展,使用 PHP 扩展技术替换 zend_execute 的函数指针,在 Zend 引擎循环执行操作码的过程中追踪获得调用各类函数的性能及错误信息。

.NET 探针采集原理是什么?

已采纳

.Net 探针通过 CLR 提供的一系列的接口函数,在 JIT 开始编译某个函数期间,通过 ILRewrite 技术替换和修改正在被编译的函数, 从而达到 .NET 探针嵌码目的,实现对 IIS .net 应用性能和其他数据的采集。

Java 探针如何实现执行的慢 SQL 的抓取?

已采纳

Java 探针通过对数据库驱动的适配,来实现对数据库数据的采集。在数据库驱动 getConnection 时采集数据库相关的信息,并通过对 statement 和 PreparedStatement 等相关接口方法的适配,实现对数据库相关操作数据的抓取。

在性能监控时,是否会采集业务数据?

已采纳

默认不采集业务数据,对探针适配了的框架、组件、容器的关键方法进行嵌码的,固定的地方做采集,采集的是执行时间、执行次数、错误、代码堆栈。

分布式链路追踪的原理是什么?

已采纳

为每一次请求生成一个 TransactionId 并且透传整个调用过程,通过 TransactionId 即可串联整个调用链。

如何获取 JVM 相关数据?

已采纳

根据 JVM 提供一系列 JMX 接口,获取我们需要的 JVM 数据,例如 PermGen、线程数、活跃数等。

如何采集到代码调用堆栈?

已采纳

通过调用系统的 getstacktrace 方法,即可获得堆栈信息。

领券