首页 » SEO优化 » phpnightrain技巧_微做事机能分析|Pyroscope 在 Rainbond 上的实践分享

phpnightrain技巧_微做事机能分析|Pyroscope 在 Rainbond 上的实践分享

访客 2024-11-17 0

扫一扫用手机浏览

文章目录 [+]

本文将先容一个 「持续性能剖析平台 Pyroscope」,它能够帮助我们快速找到内存泄露、CPU利用率高的代码。

什么是 Pyroscope?

Pyroscope 是一个开源的持续性能剖析平台。
它能够帮你:

phpnightrain技巧_微做事机能分析|Pyroscope 在 Rainbond 上的实践分享

查找代码中的性能问题办理 CPU 利用率高的问题定位并修复内存泄露理解运用程序的调用树跟踪随韶光的变革

Pyroscope 可以存储来自多个运用程序长期的剖析数据;可以一次查看多年的数据或单独查看特定的事宜;较低的 CPU 利用;数据压缩效率高,磁盘空间哀求低;快捷的 UI 界面;

phpnightrain技巧_微做事机能分析|Pyroscope 在 Rainbond 上的实践分享
(图片来自网络侵删)
Pyroscope 架构

Pyroscope 由两个紧张组件支撑运行:「Pyroscope Server」 和 「Pyroscope Agent」。

「Pyroscope Agent」:记录并汇总您的运用程序一贯在实行的操作,然后将该数据发送到 Pyroscope Server。
支持多种措辞,GO、Python、Ruby、eBPF、JAVA、Rust、PHP、NodeJS、.NET

「Pyroscope Server」: 处理、聚合和存储来自代理的数据,以便在任何韶光范围内快速查询。
少焉后可以查看剖析数据,并在任何韶光范围内进行查询。

与 Rainbond 集成架构

「1.集成 Pyroscope Agent:」

利用 Rainbond 插件的机制在微做事组件内安装 Pyroscope Agent 插件,该插件会将 pyroscope.jar 通过 javaagent 办法启动 java -javaagent:pyroscope.jar -jar app.jar

「2.依赖 Pyroscope Server:」

将安装了 Pyroscope Agent 插件微做事组件都依赖至 Pyroscope Server。

实践步骤

本文将基于微做事框架 Pig 进行实践,步骤为:

支配微做事 Spring Cloud Pig,Gitee:https://gitee.com/log4j/pig支配 Pyroscope Server安装 Pyroscope Java Agent 插件并配置建立微做事与 Pyroscope 之间的依赖关系Pyroscope 基本利用

Rainbond 支配请参阅文档 快速安装

1. 支配微做事 Spring Cloud Pig

通过开源运用商店一键安装 Spring Cloud Pig,新增 -> 基于运用商店创建组件 -> 在开源运用商店中搜索 SpringCloud-Pig 并安装到指定运用中。

2. 支配 Pyroscope Server

通过开源运用商店一键安装Pyroscope Server,新增 -> 基于运用商店创建组件 -> 在开源运用商店中搜索 Pyroscope 并安装到指定运用中。

3. 安装 Pyroscope Java Agent 插件并配置插件 -> 从运用商店安装插件,搜索 Pyroscope-Java-Agent 进行安装。

为每个微做事组件都开通插件,进入微做事组件 -> 插件 -> 开通插件 Pyroscope-Java-Agent 并更新组件。

为每个微做事组件都设置以下环境变量,可在组件内 -> 环境变量 -> 添加变量。
也可以通过运用配置组为所有组件统一配置 JAVA_OPTS 环境变量,而 PYROSCOPE_APPLICATION_NAME 环境变量是唯一的,不可统一配置。

变量名 变量值 解释 JAVA_OPTS -javaagent:/agent/pyroscope.jar Java agent 启动参数 PYROSCOPE_APPLICATION_NAME pig.auth 微做事模块名称

4. 建立微做事与Pyroscope之间的依赖关系

将所有微做事组件添加依赖连接到 Pyroscope,切换到编排模式进行依赖关系建立,并更新或重启所有微做事组件使依赖关系生效。

5. Pyroscope 基本利用

访问 Pyroscope 的 4040 对外做事端口,即可访问 Pyroscope UI。

在 Single View 视图中,可以通过 Application 选择做事。
它可以显示某一段韶光内的火焰图,也可以利用表格展示或者同时展示,火焰图可以看到微做事方法调用的性能指标。

在 Comparison View 视图中,可以选择不同的韶光段进行比较,通过韶光线拖拽即可。

在 Diff View 视图中,可以进行两个韶光段的差异比对,这常日在排查微做事的CPU、内存泄露时很有效。

末了

Pyroscope 还可以结合 Jaeger 一起利用,可以集成在 Jaeger UI 中,可参阅 Jaeger UI 集成

Rainbond 是一个云原生运用管理平台,核心100%开源、利用大略、不须要懂容器和Kubernetes,支持管理多种Kubernetes集群,供应企业级运用的全生命周期管理。

相关文章

QQ聊天恶搞代码技术背后的趣味与风险

人们的生活越来越离不开社交软件。在我国,QQ作为一款历史悠久、用户众多的社交平台,深受广大网民喜爱。在QQ聊天的过程中,恶搞代码的...

SEO优化 2025-03-02 阅读1 评论0

Python代码截屏技术与应用的完美融合

计算机屏幕截图已经成为人们日常生活中不可或缺的一部分。无论是分享工作成果、记录游戏瞬间,还是保存网页信息,屏幕截图都发挥着重要作用...

SEO优化 2025-03-02 阅读1 评论0

QQ无限刷礼物代码技术突破还是道德沦丧

社交平台逐渐成为人们生活中不可或缺的一部分。QQ作为我国最具影响力的社交软件之一,其丰富的功能吸引了大量用户。近期有关QQ无限刷礼...

SEO优化 2025-03-02 阅读1 评论0