今天看啥  ›  专栏  ›  InfoQ

Netflix 如何利用 eBPF 提高基础设施的可观测性

InfoQ  · 公众号  · 科技媒体  · 2024-09-24 13:22

主要观点总结

本文介绍了奈飞(Netflix)如何使用eBPF技术来有效且高效地调查多租户系统的性能,特别是检测'吵闹的邻居'的问题。文章详细描述了奈飞工程师如何使用eBPF来收集关于进程调度和延迟的关键指标,以及使用eBPF环形缓冲区将数据传递给用户空间的Go程序的方法。此外,文章还提到了为测量eBPF代码开销而创建的bpftop工具,并强调了确保系统性能不受影响的重要性。

关键观点总结

关键观点1: 奈飞使用eBPF进行多租户系统性能调查

奈飞尝试使用eBPF对Linux内核进行检测,以收集关于进程如何调度和检测'吵闹的邻居'的深入见解。这是为了规避通常使'吵闹的邻居'检测变得困难的问题,包括perf等分析工具带来的开销和所需的专业知识水平。

关键观点2: eBPF在检测'吵闹的邻居'中的应用

奈飞工程师利用eBPF的三个钩子来检测进程延迟,这是指示'吵闹的邻居'可能造成性能问题的关键指标。他们使用的钩子是sched_wakeup、sched_wakeup_new和sched_switch。

关键观点3: 使用eBPF环形缓冲区传递数据

为了将收集到的数据传递给用户空间的Go程序,奈飞工程师决定使用eBPF环形缓冲区,这是一种高效、高性能且用户友好的机制。

关键观点4: 检测'吵闹的邻居'需要跟踪进程被抢占的频率和进程

除了测量延迟外,检测'吵闹的邻居'还需要跟踪进程被抢占的频率以及是哪个进程导致的抢占,无论它们是否运行在同一个容器中。

关键观点5: bpftop工具用于测量eBPF代码开销

为了确保系统性能不受影响,奈飞工程师创建了bpftop工具来测量eBPF代码的开销,并进行了优化以减少其初始开销。


文章预览

作者 | Sergio De Simone 译者 | 刘雅梦 策划 | 丁晓昀 为了有效且高效地调查多租户系统的性能,奈飞(Netflix)一直在尝试使用 eBPF 来对 Linux 内核进行检测,以收集有关进程如何调度并检测“吵闹的邻居”的持续且深入的见解。 使用 eBPF,奈飞(Netflix)的计算和性能工程团队旨在规避一些通常会使“吵闹的邻居”检测变得困难的问题。这些问题包括 perf 等分析工具所带来的开销,这也意味着它们通常仅在问题发生之后才部署,以及工程师所需的专业知识水平。根据奈飞(Netflix)工程师的说法,eBPF 可以实现对计算基础设施进行低性能影响的观测,从而实现对 Linux 调度程序的持续检测。 奈飞(Netflix)工程师确定的关键指标是进程延迟,该指标可指示“吵闹的邻居”可能造成的性能问题: 为了确保依赖于低延迟响应的工作负载的可靠性,我们检 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览