【问题标题】:How do you compute the performance impact of a eBPF probe?您如何计算 eBPF 探针的性能影响?
【发布时间】:2021-05-13 22:18:09
【问题描述】:

eBPF 已成为轻松快速地监控流程的重要工具。但是,我无法找到如何计算探针本身对性能的影响。我确定如果我挂钩每个系统调用并在地图中推送一些信息,一定会产生一些影响,没有什么是免费的,但是我该如何正确计算这个增加的延迟?

我想到的唯一解决方案是在两个探针都处于活动状态和不处于活动状态的情况下多次运行相同的程序,并检查系统执行时间差,但在我看来,这似乎会受到各种因素的影响,这些因素可能会增加差异很大,因此不会给出非常可靠的结果。

【问题讨论】:

    标签: performance monitoring bpf ebpf


    【解决方案1】:

    the eBPF Summit 有 Bryce Kahle 的 a talk on this topic。这是我所知道的这个问题的最完整答案。

    总而言之,您有多种选择:

    • 依靠内核收集的kernel.bpf_stats_enabled 统计信息。
    • 使用bpftool prog profile
    • 使用BPF_PROG_TEST_RUN钩子,例如,通过bpftool prog run

    谈话没有提到最后一个选项:您现在可以使用BPF trampoline在其他 BPF 程序的入口和出口处附加 BPF 程序。

    【讨论】:

      猜你喜欢
      • 2016-04-22
      • 2012-08-14
      • 1970-01-01
      • 1970-01-01
      • 2017-09-16
      • 2021-04-18
      • 1970-01-01
      • 2013-04-12
      • 1970-01-01
      相关资源
      最近更新 更多