加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 云计算 > 正文

持续解析 Kubernetes 中服务的性能

发布时间:2022-04-15 15:13:19 所属栏目:云计算 来源:互联网
导读:开发人员通常需要查看生产应用程序中的性能瓶颈以确定问题的原因。为此,您通常需要可以通过日志和代码工具收集的信息。不幸的是,这种方法通常很耗时,并且不能提供有关潜在问题的足够详细信息。 一种现代且更先进的方法是应用和使用分析技术和工具来突出显
  开发人员通常需要查看生产应用程序中的性能瓶颈以确定问题的原因。为此,您通常需要可以通过日志和代码工具收集的信息。不幸的是,这种方法通常很耗时,并且不能提供有关潜在问题的足够详细信息。
 
  一种现代且更先进的方法是应用和使用分析技术和工具来突出显示最慢的应用程序代码,即消耗大部分资源的区域。
 
  因此,这里列出了您可能遇到的一些分析器:
 
  Pyroscope:Pyroscope是一个开源平台,由服务器和代理组成。它允许用户以 CPU 和磁盘高效的方式收集、存储和查询分析数据。
  Parca:Parca收集、存储和提供配置文件,以便随着时间的推移进行查询。它是开源的,可以部署在生产环境中,因为 Parca 专注于对两种主要类型的配置文件进行采样分析:跟踪和采样。
  Datadog:Datadog Continuous Profiler始终在任何环境(包括生产环境)中分析和比较代码性能。它指出了由低效代码导致的难以复制的生产问题。还具有自动代码分析洞察力。
  Google - Cloud Profiler:Cloud Profiler是一种低开销的统计分析器,可从您的生产应用程序中持续收集 CPU 使用率和内存分配信息。它具有可操作的应用程序分析、低影响的生产 Profilin 和广泛的平台支持。
  为什么使用 Pyroscope
  在我们开始探索 Pyroscope 之前,让我们看看它与市场上其他少数可用的连续分析工具有何不同。DataDog 和 Google Cloud Profiler 在业界被广泛使用。正如一位 Reddit 用户所指出的,以下是 Pyroscope 比其他两个更好的一些原因。
 
  Pyroscope 允许任何语言的分析器向其发送数据,并让存储引擎有效地存储该数据。例如,Pyroscope 具有针对 Go、Python、Ruby、eBPF、Java、.NET、PHP 和 Rust 的语言特定代理。
 
  另一方面,Parca 采用了稍微不同的方法,它依赖 eBPF 来编译 C、C++、Go 等语言。在撰写本文时,对其他语言的支持正在进行中。与 Pyroscope 类似,它也可以从 HTTP 端点读取任何pprof 格式的配置文件。
 
  从理论上讲,由于所有这些语言最终都会编译下来并在内核上运行,因此 eBPF 应该适用于这些语言中的任何一种。然而,在实践中,如果你真的为 Python 等解释性语言运行 eBPF,在许多情况下,函数名称对人类来说是不可读的。这是因为符号不是以这些语言存储的。
 
  出于这个原因,Pyroscope 同时支持特定于语言的分析器和 eBPF 分析器。与仅在内核级别运行的 eBPF 相比,这以集成语言特定代理的工作量稍多为代价。但它也带来了更多可操作和人类可读的配置文件的好处。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读