微服务性能分析|Pyroscope 在 Rainbond 上的实践分享

微服务性能分析|Pyroscope 在 Rainbond 上的实践分享

随着微服务体系在生产环境落地,也会伴随着一些问题出现,比如流量过大造成某个微服务应用程序的性能瓶颈、CPU利用率高、或内存泄漏等问题。要找到问题的根本原因,我们通常都会通过日志、进程再结合代码去判断根本原因。对于微服务庞大的业务,这必定会很耗时,而且也很难及时找到关键问题点。
本文将介绍一个「持续性能分析平台Pyroscope」,它能够帮助我们快速找到内存泄漏、CPU利用率高的代码。
Pyroscope是一个开源的持续性能分析平台。它能够帮你:
Pyroscope可以存储来自多个应用程序长期的分析数据;可以一次查看多年的数据或单独查看特定的事件;较低的CPU使用;数据压缩效率高,磁盘空间要求低;快捷的UI界面;
Pyroscope由两个主要组件支撑运行:「PyroscopeServer」和「PyroscopeAgent」。
「PyroscopeAgent」:记录并汇总您的应用程序一直在执行的操作,然后将该数据发送到PyroscopeServer。支持多种语言,GO、Python、Ruby、eBPF、JAVA、Rust、PHP、NodeJS、.NET
「PyroscopeServer」:处理、聚合和存储来自代理的数据,以便在任何时间范围内快速查询。片刻后可以查看分析数据,并在任何时间范围内进行查询。
与Rainbond集成架构
「1.集成PyroscopeAgent:」
使用Rainbond插件的机制在微服务组件内安装PyroscopeAgent插件,该插件会将pyroscope.jar通过javaagent方式启动java-javaagent:pyroscope.jar-jarapp.jar
「2.依赖PyroscopeServer:」
将安装了PyroscopeAgent插件微服务组件都依赖至PyroscopeServer。
本文将基于微服务框架Pig进行实践,步骤为:
Rainbond部署请参阅文档快速安装
通过开源应用商店一键安装SpringCloudPig,新增->基于应用商店创建组件->在开源应用商店中搜索SpringCloud-Pig并安装到指定应用中。
通过开源应用商店一键安装PyroscopeServer,新增->基于应用商店创建组件->在开源应用商店中搜索Pyroscope并安装到指定应用中。
变量名变量值说明JAVA_OPTS-javaagent:/agent/pyroscope.jarJavaagent启动参数PYROSCOPE_APPLICATION_NAMEpig.auth微服务模块名称
将所有微服务组件添加依赖连接到Pyroscope,切换到编排模式进行依赖关系建立,并更新或重启所有微服务组件使依赖关系生效。
访问Pyroscope的4040对外服务端口,即可访问PyroscopeUI。
在SingleView视图中,可以通过Application选择服务。它可以显示某一段时间内的火焰图,也可以使用表格展示或者同时展示,火焰图可以看到微服务方法调用的性能指标。
在ComparisonView视图中,可以选择不同的时间段进行比较,通过时间线拖拽即可。
在DiffView视图中,可以进行两个时间段的差异比对,这通常在排查微服务的CPU、内存泄漏时很有效。
Pyroscope还可以结合Jaeger一起使用,可以集成在JaegerUI中,可参阅JaegerUI集成
Rainbond是一个云原生应用管理平台,核心100%开源、使用简单、不需要懂容器和Kubernetes,支持管理多种Kubernetes集群,提供企业级应用的全生命周期管理。

主题测试文章,只做测试使用。发布者:最新稳定辅助网,转转请注明出处:https://www.744broad.com/15205.html

(0)
上一篇 2023年3月7日 上午2:33
下一篇 2023年3月7日 上午2:44

相关推荐

  • 面试Python工程师会问哪些问题?需要准备什么?

    面试Python工程师会问哪些问题?需要准备什么? 随着互联网的发展,python语言现在变得越来越火爆,Python程序员越来越受到大家的青睐!那么想进入Python行业,面试时需要注意些什么问题呢?我们在参加Python开发岗位面试的时候都要做哪些准备?一般Python技术方面的面试会问哪些问题?今天,我们从2位面试官的角度来看看,参加Python开发岗…

  • 不要让你的开源项目「裸奔」,一文了解开源证书

    不要让你的开源项目「裸奔」,一文了解开源证书 选自choosealicense机器之心编译参与:PandaW没有开源证书,开源软件和代码就没有相应的保护,可是MIT证书、Apache证书之类的有什么区别呢?这篇文章教你为自己的项目选择合适的证书。在我们现在所处的这个被软件和数字化内容包围的时代,开源证书具有极其重要的价值和意义。但你知道如何为你的项目或工作选…

    RUST资讯 2023年2月23日
    100
  • 如何同时学会两门编程语言?

    如何同时学会两门编程语言? 大概在五年前,我写了一篇文章《学习的艺术——如何学好一门技术、语言》,介绍了如何通过复写现有的系统来学习新的技术。而在最近的两次实践中,我发现了一种更高效(hardway)的方式来学习编程语言。因为高效(hardway),所以这并不是银弹。当然了,这也是我和我的同事在一次讨论中得到的玩笑结论:你只要用Go写一个C++的解析器,那么…

  • 简约优雅,这个开源项目让你用 Deno 部署一个静态网页

    简约优雅,这个开源项目让你用 Deno 部署一个静态网页 在今年5月份的时候,Deno1.0发布了。Deno是作者RyanDahl在Node之后的又一大作,它是一个新的运行时,用于在Web浏览器之外执行JavaScript和TypeScript,其采用Rust编写而成(最初用的是Golang)。今天介绍的项目就是使用Deno+React驱动的静态网页生成器,…

    RUST资讯 2023年2月27日
    60
  • 英特尔Cloud-Hypervisor在启动Windows方面取得进展

    英特尔Cloud-Hypervisor在启动Windows方面取得进展 由英特尔开源团队领导的Cloud-Hypervisor项目,用于提供一个用Rust编程语言编写的以云为中心的hypervisor,已经出了一个新的功能版本。在KVMHyperV仿真控制支持方面所做的工作非常重要,因为有了新的选项,可以在不增加额外的仿真设备的情况下就启动微软Windows…

  • 今天的华为是什么水平?

    今天的华为是什么水平? 作者:万维钢来源:罗辑思维大多数人关注华为,一般都是关注手机产品、“奋斗者”管理或者美国对它的措施等方面。但其实,大众所了解的华为并不够透彻和全面。去年年底,科学作家、「得到」作者万维钢老师近距离、全方面地接触了华为公司,向关键的负责人问了很多他好奇的问题,他所看到的,超出此前对华为的所有理解。今天,万维钢老师就在《精英日课第四季》里…

    RUST资讯 2023年2月28日
    40
  • 《腐蚀》将于春季推出主机版 登陆PS4和Xbox One

    《腐蚀》将于春季推出主机版 登陆PS4和Xbox One 《腐蚀(Rust)》官方宣布将在今年春季正式推出主机版,登陆PS4和XboxOne平台。目前游戏正在进行BETA封测,预计会持续几周的时间。《腐蚀》是一款由FacepunchStudios打造的多人合作生存类游戏,最早于2013年12月在Steam商店推出了抢先体验版,之后于2018年2月正式发售,目…

    RUST资讯 2023年2月13日
    80
  • 炉石传说:隐藏4年的超级彩蛋,女警萨莉竟是通灵学院学生

    炉石传说:隐藏4年的超级彩蛋,女警萨莉竟是通灵学院学生 炉石传说新版本通灵学院有一个全新机制——双职业卡牌。每个职业都会和其它两个职业组成CP,每对CP有4张双职业卡牌,将彼此之间的机制结合到了一起,强强联合发挥出1+1>2的效果。不过,就像双生法术参考了回响一样,双职业卡牌也是根据之前版本的机制设计的。早在炉石传说第一个游戏年“海怪年”的第三个版本龙争虎斗…

  • IPFS——构建安全、自由的互联网储存平台

    IPFS——构建安全、自由的互联网储存平台 IPFS作为目前最先进的去中心化分布式存储技术,今年已多次被人民网等主要官媒进行大幅报道。其分布式存储协议不但受到了各国的战略性重视,更是被视为未来互联网的核心技术研发和应用。什么是IPFSIPFS全称为InterPlanetaryFileSystem即”星际文件系统”,是用于存储和访问文件…

    RUST资讯 2023年2月18日
    90
  • WebAssembly与ES6的现实基准测试

    WebAssembly与ES6的现实基准测试 亚伦-特纳-16分钟阅读免责声明:所有意见想法/工作都是由我个人做出的,不代表任何雇主的想法或工作。在为网页开发应用时,有很多时候,由于浏览器的性能问题,我无法将我的想法付诸实现。浏览器并不像用C语言编写的编译可执行文件那样直接运行指令。浏览器必须下载、解析、解释和即时(JIT)编译JavaScript(JS/E…

    RUST资讯 2023年2月22日
    110
关注微信