帮助手册

异步请求追踪

APM Insight Java 包含对 CompletableFuture 异步事务的支持。这是众多受支持框架中应用最广泛的异步处理方法之一。本文介绍异步处理的工作原理以及 APM Insight 如何监控异步函数。

异步操作

同步编程模型通常按特定顺序执行编程任务,一个任务必须完成后才能开始下一个,这会增加多个任务的等待时间。

异步编程采用非阻塞模型,允许任务并发执行。异步任务在执行和初始化上完全独立。由于异步代码不按顺序执行,服务器的完整处理能力可以得到更高效的利用。

APM Insight Java 代理专门设计用于监控异步任务,使用户能够轻松追踪异步函数和 Web 事务的性能。

用于识别异步调用的追踪记录

APM Insight 中捕获的追踪记录(Traces)提供了异步任务在您的环境中并发执行情况的可见性。

按照以下步骤查看异步调用:

  1. 登录您的 Site24x7 Web 客户端。
  2. 前往 APM > 您的 Java 应用程序。
  3. 单击追踪记录(Traces)选项卡,然后单击所需的追踪记录。
  4. 选择追踪详情(Trace Details)选项卡。

我们会为异步调用显示以下指标:

  • 异步调用状态:已完成(Completed)、已失败(Failed)、已取消(Cancelled)
  • 异步线程信息:线程名称、线程 ID、CPU 时间、已分配内存
  • 线程池等待时间:异步任务等待分配新线程的时长
  • 调用线程等待时间:主线程等待异步作业完成的时长(若调用了 join())

异步调用如何影响响应时间?

异步 Java 应用程序的整体响应时间(Overall Response Time)通常小于总事务时间。这是因为异步方法无需等待所有前置方法完成后才返回。由于任务可以延迟处理,应用程序能够更好地利用有限资源,从而更快地完成处理。

如需查看此情况,请导航至 Site24x7 Web 客户端 > APM > 选择您的应用程序 > 单击概述(Overview)选项卡。

在 APM 概述(Overview)页面,查看按组件细分的应用服务器响应时间(App Server Response Time Broken by Components)图表。相应 Java 应用程序中的异步活动可能导致响应时间(深蓝色线)低于总事务时间。

本文档对您有帮助吗?

您愿意帮助我们改进文档吗?请告诉我们哪些方面可以做得更好。


很抱歉本文档未能让您满意。我们希望了解可以从哪些方面改进您的体验。


感谢您抽出时间分享反馈。我们将利用您的反馈来改进在线帮助资源。

短链接已复制!