主要观点总结
本文介绍了奈飞(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)工程师确定的关键指标是进程延迟,该指标可指示“吵闹的邻居”可能造成的性能问题: 为了确保依赖于低延迟响应的工作负载的可靠性,我们检
………………………………