Skywalking使用篇(三):性能剖析

这篇具有很好参考价值的文章主要介绍了Skywalking使用篇(三):性能剖析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介

在系统性能监控方法上,Skywalking 提出了代码级性能剖析这种在线诊断方法。这种方法基于一个高级语言编程模型共性,即使再复杂的系统,再复杂的业务逻辑,都是基于线程去进行执行的,而且多数逻辑是在单个线程状态下执行的。
代码级性能剖析就是利用方法栈快照,并对方法执行情况进行分析和汇总。并结合有限的分布式追踪 span 上下文,对代码执行速度进行估算。

优势

  1. 精确的问题定位,直接到代码方法和代码行
  2. 无需反复的增删埋点,大大减少了人力开发成本
  3. 不用承担过多埋点对目标系统和监控系统的压力和性能风险
  4. 按需使用,平时对系统无消耗,使用时的消耗稳定可能

使用步骤

使用工程

Live-Demo 工程中 projectB 项目
修改 DatabaseOperateDao#selectUser 方法,设置一个4s的睡眠
Skywalking使用篇(三):性能剖析

新建任务

监控 /projectB/1234 端点,持续5分钟
Skywalking使用篇(三):性能剖析

需要注意的点
  • 一个服务在监控持续时间内只能设置一个端点监控任务

源码逻辑入口
org.apache.skywalking.oap.server.core.profile.ProfileTaskMutationService``#checkDataSuccess
Skywalking使用篇(三):性能剖析

  • 剖析端点的响应时间必须大于监控间隔时间

由于性能栈快照有一定的性能消耗,所以采集周期不宜过密,SkyWalking 目前不支持小于 10ms 的采集间隔。所以如果问题方法执行时间小于 10ms,此方法并不适用。同时剖析端点的响应速度如果小于监控时间间隔,也无法进行监控采集。

发送请求

curl http://localhost:8764/projectB/1234

查看剖析结果

Skywalking使用篇(三):性能剖析

上图所示的就是链路追踪时的真实执行情况,表格中从左到右分别展示了方法名、开始时间、执行时长、执行时间占比、API类型、服务名和跨度信息。其中可以看到前面设置了4s睡眠的 selectUser 方法执行速度最慢。再点击分析按钮,可以查看对应方法的调用栈。
Skywalking使用篇(三):性能剖析
从左右到右分别展示了栈帧名称、该栈帧总计耗时(包含其下面所有自栈帧)、当前栈帧自身耗时和监控次数
继续向下查找可以发现 selectUser 的栈桢信息,从这里可以看到方法是真正卡在了线程睡眠逻辑中
Skywalking使用篇(三):性能剖析文章来源地址https://www.toymoban.com/news/detail-408053.html

到了这里,关于Skywalking使用篇(三):性能剖析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SkyWalking快速上手(三)——架构剖析2

    接上篇文章:SkyWalking快速上手(二)——架构剖析1 SkyWalking是一个开源的分布式系统追踪、监控和诊断工具,它能够帮助开发人员和运维人员实时监控和诊断分布式系统的性能问题。本文将深入剖析SkyWalking的架构,并介绍其核心组件中UI和Storage组件的及其功能。 在SkyWalkin

    2024年02月07日
    浏览(36)
  • 第12讲:剖析 Trace 在 SkyWalking 中的落地实现方案(上)

    SkyWalking 中 Trace 的相关概念以及实现类与 OpenTracing 中的概念基本类似,像 Trace、Span、Tags、Logs 等核心概念,在 SkyWalking Agent 中都有对应实现,只是在细微实现上略有区别的,其中最重要的是: SkyWalking 的设计在 Trace 级别和 Span 级别之间加了一个 Segment 概念,用于表示一个服

    2024年02月15日
    浏览(39)
  • SkyWalking_apm性能监控指标介绍

    什么是skywalking Skywalking概述: 一个优秀的项目,除了具有高拓展的架构、高性能的方案、高质量的代码之外,还应该在上线后具备多角度的监控功能。现在企业中的监控服务也有很多,Skywalking除了提供多维度、多粒度的监控之外,也提供了良好的图形化界面以及性能剖析、服

    2023年04月20日
    浏览(50)
  • 门禁系统中人脸检测技术的原理剖析和使用教程

    人脸检测 API 是一种基于深度学习技术的图像处理API,可以快速地检测出一张图片中的人脸,并返回人脸的位置和关键点坐标,在人脸识别系统、人脸情绪识别等多种场景下都有极大的应用。 本文将从人脸检测的发展历程、原理、特点等角度出发,一文带你看透人脸检测 AP

    2023年04月21日
    浏览(46)
  • RocketMQ 4.9.1 性能优化 源码剖析

    RocketMQ 4.9.1 版本针对 Broker 做了一些性能优化,这一批 PR 都挂载 ISSUE#2883 下。 和4.9.0版本相比,小消息实时生产的 TPS 提升了约 28%。 I have some commit to Improve produce performance in M/S mode: Change log level to debug: “Half offset {} has been committed/rolled back” Optimise lock in WaitNotifyObject Remove lo

    2024年01月19日
    浏览(28)
  • 大数据Flink简介与架构剖析并搭建基础运行环境

    前面我们分别介绍了大数据计算框架Hadoop与Spark,虽然他们有的有着良好的分布式文件系统和分布式计算引擎,有的有着分布式数据集和基于内存的分布式计算引擎,但是却不能对无边界数据流进行有效处理,今天我们就分享一个第四代大数据分布式计算框架Flink简介与架构剖

    2024年02月10日
    浏览(53)
  • 剖析CPU性能火焰图生成的内部原理

    关注开发内功修炼,掌握硬核技术原理 大家好,我是飞哥! 在进行CPU性能优化的时候,我们经常先需要分析出来我们的应用程序中的CPU资源在哪些函数中使用的比较多,这样才能高效地优化。一个非常好的分析工具就是《性能之巅》作者 Brendan Gregg 发明的火焰图。 我们今天

    2024年02月07日
    浏览(35)
  • 高效Python-2-1 剖析(Profiling 性能分析)

    本章包括 剖析代码以发现速度和内存瓶颈 更有效地利用现有的Python数据结构 了解Python分配典型数据结构的内存成本 使用懒编程技术处理大量数据 有很多工具和库可以帮助我们编写更高效的Python。但是,在我们深入研究提高性能的所有外部选项之前,让我们先仔细看看如何

    2024年02月14日
    浏览(33)
  • 【网络编程】高性能并发服务器源码剖析

      hello !大家好呀! 欢迎大家来到我的网络编程系列之洪水网络攻击,在这篇文章中, 你将会学习到在网络编程中如何搭建一个高性能的并发服务器,并且我会给出源码进行剖析,以及手绘UML图来帮助大家来理解,希望能让大家更能了解网络编程技术!!! 希望这篇文章能

    2024年04月15日
    浏览(56)
  • 深入剖析gRPC:Google开源的高性能RPC框架

    在本篇文章中,我们将深入剖析gRPC,Google开源的高性能RPC框架。gRPC是一种基于HTTP/2的高性能、可扩展的RPC框架,它使用Protocol Buffers作为接口定义语言,可以在多种编程语言之间实现无缝通信。 gRPC的核心设计理念是:通过使用HTTP/2作为传输协议,实现高效、可扩展的RPC通信

    2024年02月19日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包