当前位置: 首页 > news >正文

阿里云-arms监控

监控java应用

若是容器集群环境,则选择容器服务环境

手动安装方式,是手动把 agent的jar包放到 ecs服务器,然后运行个人的spring boot服务时,加上一些参数,将agent也启动运行

手动集成-添加agent

监控的是ecs中的java应用,因此要将agent下载到ecs中

添加unzip指令集,并解压缩

在ecs中启动服务

java -javaagent:/home/admin/AliyunJavaAgent/aliyun-java-agent.jar -Darms.licenseKey=dnnlqal****** -Darms.appName=my-service -jar arms-0.0.1-SNAPSHOT.jar

 /home/admin  是agent在ecs中的实际路径

最后的  -jar *.jar & 是启动的自己的java服务jar包

启动

集成的效果

接口调用

JVM监控

线程池监控

限制:仅支持部分框架

持续性能刨析

作用:分析内存占用、接口cpu耗时函数

解决内存占用异常问题

线程池组:先看下各个线程池组的内存占比,找到业务中的线程池(本图的内存占用 arms的agent占用最多,但是我们不用分析,因此不选。。现实场景,自己的业务占用的内存占绝大多数)

可以一个个的线程池组分析、也可以先多选几个一块分析

现实模式:使用表格+火焰的形式。

从下往上找,自己业务的最宽的方法,就是导致占用内存较多的原因。

org.draymond.arms.ArmsThreadTest.extracted(String)

 在代码中找到对应的位置,然后分析原因

解决接口慢问题

trace + 火焰图

1.通过trace先定位哪个接口慢

找到一个慢的traceId

详情里面有各个span的耗时(因为我只开了一个服务,也没有手动添加span,所以没有其他span了)

不足:该接口内部的逻辑,不确定哪个地方是卡点

但是使用 “代码整体执行时间火焰图” 辅助分析

从trace中找到慢的 服务 与 慢方法

搜索自己业务的路径

arms/byte/id

调用关系:

org.draymond.arms.ArmsController.bytesTest(Integer)

org.draymond.arms.ArmsService.bytesTest(Integer)

org.draymond.arms.ArmsService.sleepNumberTime(Integer)

入口:.ArmsController.bytesTest 花费  7.15 m, 占比49%

最耗时方法:ArmsService.sleepNumberTime

定位:最根本的是 sleepNumberTime 的sleep占用了大量时间。

解决CPU不稳定问题

解决GC频繁问题

http://www.lqws.cn/news/555553.html

相关文章:

  • zookeeper Curator(1):认识zookeeper和操作命令
  • 华为云鸿蒙应用入门级开发者认证 实验部分题目及操作步骤
  • 【龙泽科技】新能源汽车故障诊断仿真教学软件【吉利几何G6】
  • Qt:QCustomPlot库的QCPAxis
  • 第一章 城镇道路工程 1.5 安全质量控制
  • python解释器 与 pip脚本常遇到的问题汇总
  • PYTHON从入门到实践7-获取用户输入与while循环
  • 医疗标准集中标准化存储与人工智能智能更新协同路径研究(上)
  • Next.js实战:AI两小时开发文档社区
  • pytest 中的重试机制
  • 分布式电源采集控制装置:江苏光伏电站的“智能调度中枢
  • 【Java--SQL】${}与#{}区别和危害
  • 如何关闭win更新-随笔11
  • 稳定币独角兽:Circle
  • 零基础langchain实战二:大模型输出格式化成json
  • 【SpringSecurity鉴权】
  • 深入剖析AI大模型:Dify的介绍
  • centos指令
  • 利用GPU加速TensorFlow
  • 一文读懂Kubernetes(K8s)
  • 设计模式 (四)
  • Gradio全解13——MCP详解(4)——TypeScript包命令:npm与npx
  • maven多模块、多层级项目 如何只构建指定的项目
  • TypeScript 中的 WebSocket 入门
  • stream使用案例
  • 【Docker基础】Docker容器管理:docker stats及其参数详解
  • JavaScript中Object()的解析与应用
  • 深入详解:决策树算法的概念、原理、实现与应用场景
  • 思维提升篇-数学抽象与计算机实现
  • ChatboxAI 搭载 GPT 与 DeepSeek,引领科研与知识库管理变革