把握行业变革关键节点,12 月 19 日 - 20 日,AICon北京站即将重磅启幕! 了解详情
写点什么

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:006828

评论

发布
暂无评论
发现更多内容

基于TCP协议的Socket通信

芯动大师

TCP协议 Socket请求 三周年连更

HTTP事务的时延

阿泽🧸

三周年连更 HTTP时延

2023-04-18:ffmpeg中的hw_decode.c的功能是通过使用显卡硬件加速器(如 NVIDIA CUDA、Intel Quick Sync Video 等)对视频进行解码,从而提高解码效

福大大架构师每日一题

golang 音视频 ffmpeg 福大大

IT分享丨我是如何利用华为云网站安全解决方案帮助中小型企业实现IT安全

YG科技

华为云网站安全解决方案:全面保障企业网络安全,助力业务稳定高效运行

YG科技

一文读懂 Spring Bean 的生命周期

老周聊架构

三周年连更

【Java技术指南】「Unirest编程专题」一起认识一下一个“灰常”优秀的Http工具,让Http开发变得如此简单

码界西柚

Java HTTP 4月日更 Unirest

中小企业如何保障网络安全?用了这么多项目华为云其实还不错!

YG科技

动态资源技术JSP|Java与Html的美好相遇

浅羽技术

Java html 服务端 jsp 三周年连更

接口测试利器:AREX

AREX 中文社区

测试 自动化测试 接口测试 回归测试

iOS MachineLearning 系列(2)—— 静态图像分析之矩形识别

珲少

文心一言 VS chatgpt (11)-- 算法导论2.3 7题 3.1 4~5题

福大大架构师每日一题

福大大 ChatGPT 文心一言

Vue3 使用 Teleport 封装 一个 Dialog

程序员海军

Vue Vue 3 三周年连更

跨系统数据一致性问题解决方案汇总

架构精进之路

系统架构 数据一致性 三周年连更

一文掌握 Go fmt 标准库常用方法的使用

陈明勇

Go golang 三周年连更 输入输出 fmt

灵活应用Nginx Map:实战经验与实用方法

小毛驴的烂笔头

nginx linux运维 Nginx实践

IPv6域名软件

穿过生命散发芬芳

ipv6 三周年连更

FastAPI 快速开发 Web API 项目: 模板和 Jinja 介绍

宇宙之一粟

Python FastApi 三周年连更 Jinja2

灵活应用Nginx Rewrite:实战经验与实用方法

小毛驴的烂笔头

nginx linux运维

项目讲解之常见安全漏洞

越长大越悲伤

Java Web 安全

开源趣事~记给OpenHarmony提PR的那些事

Bob

开源 Open Harmony

华为云网站安全解决方案:守护您的网站,让安全无忧

YG科技

华为云:网络安全愈发重要,企业该如何保障自身业务安全?

YG科技

热爱所有热爱

闫同学

三周年连更

Go语言并发编程利器(一):如何正确使用Channel

Jack

华为云网站安全解决方案:守护企业数字化转型之路,提升业务效率与安全

YG科技

数据库、

SAP Emarsys 和 SAP Spartacus 的集成

汪子熙

SAP Spartacus 思爱普 三周年连更 Emarsys

回顾2022:Web性能方面有哪些新功能

南城FE

性能优化 前端

Django笔记十之values_list指定字段取值及distinct去重处理

Hunter熊

Python django distinct values

Netflix开源bpftop:简化eBPF性能监控与调优流程_软件工程_Aditya Kulkarni_InfoQ精选文章