写点什么

Netflix 开源 bpftop:简化 eBPF 性能监控与调优流程

  • 2024-04-12
    北京
  • 本文字数:1014 字

    阅读完需:约 3 分钟

大小:497.65K时长:02:49
Netflix开源bpftop:简化eBPF性能监控与调优流程

Netflix 最近宣布推出 bpftop,一个旨在增强 eBPF 程序优化和监控的命令行实用程序。bpftop 可以提供 eBPF 程序实时运行的快照,显示程序执行的平均持续时间、每秒处理的事件数以及每个程序的总 CPU 使用率的近似值等指标。有了这个工具,Netflix 就可以充分利用 eBPF 的功能。


Netflix 高级软件工程师 Jose Fernandez一篇博文中做了详细说明。bpftop 使用 BPF_ENABLE_STATS 命令从 eBPF 程序收集重要的性能数据。为了确保计算机平稳运行,数据收集默认处于关闭状态。bpftop 收集这些数据并计算有用的信息。收集的数据以类似于 top 命令的表格形式或以每 10 秒更新一次的图形形式显示。当 bpftop 停止运行时,也会停止收集统计信息。这个工具是用 Rust 编写的,并利用 libbpf-rsratatui 包来实现功能。



来源:bpftop:简化 eBPF 的性能优化


此外,bpftop 简化了提升 eBPF 程序性能的过程,便于进行基准测试、改进代码并获得即时反馈。如果没有 bpftop,优化这些程序需要涉及手动计算。而 bpftop 允许用户轻松设定基准、做出改进并确认这些改进,从而使整个过程高效进行。


这个工具的一个重要特性是它可以显示随时间变化的统计数据,这样有助于发现模式和趋势。


最开始,BPF 是 Berkeley Packet Filter 的首字母缩写。但根据 ebpf.io 的介绍,eBPF(扩展的 BPF)的能力已经不仅限于数据包过滤,所以最初的首字母缩写含义已经过时了。尽管如此,在 Linux 源代码中仍然使用 BPF 这个术语。在各种工具和文档中,BPF 和 eBPF 通常可以互换使用。如今,eBPF 在各种场景中都有应用,包括增强现代数据中心和云环境中的网络和负载均衡、提供详细的安全数据而又不会带来太大的开销,并协助开发人员跟踪应用程序,等等。


Fernandez 指出,尽管 Netflix 已经通过 VectorFlow Exporter sidecar 等工具将 eBPF 集成到了其性能工程中,但 Netflix 还希望在 eBPF 的优势和对系统的负载之间找到一个平衡点。


技术社区注意到 Netflix 工程账号在 X.com 上发布的 bpftop 公告,获得了 223 次转发和 1.2k 个赞。Hacker News 上的一篇帖子提到了技术社区的广泛参与。用户 bschuur 分享了他们在 eBPF 代码项目中使用这个工具的经验,强调了其有效性。因此,该工具被认为是足够有价值的,并被视为他们工具包的重要补充。


有关更多使用该工具的信息,请访问项目的 GitHub 页面。bpftop 采用了 Apache 2 开源许可,并欢迎社区参与贡献。


原文链接

https://www.infoq.com/news/2024/03/netflix-launches-bpftop/

2024-04-12 08:006594

评论

发布
暂无评论
发现更多内容
Netflix开源bpftop:简化eBPF性能监控与调优流程_软件工程_Aditya Kulkarni_InfoQ精选文章