配置 Beyla 性能
您可以使用 eBPF 跟踪器来微调 Beyla 性能。
您可以在 YAML 配置的 ebpf
部分或通过环境变量配置该组件。
YAML | 环境变量 | 类型 | 默认值 |
---|---|---|---|
wakeup_len | BEYLA_BPF_WAKEUP_LEN | 字符串 | (未设置) |
指定在向用户空间代码发送唤醒请求之前,eBPF 环形缓冲区中需要累积多少消息。
在高负载服务(按每秒请求数计)中,将此选项调整为更高的值有助于减少 Beyla 的 CPU 开销。
在低负载服务(按每秒请求数计)中,wakeup_len
的高值可能会在指标提交并可从外部观察到的时间上增加明显的延迟。
YAML | 环境变量 | 类型 | 默认值 |
---|---|---|---|
traffic_control_backend | BEYLA_BPF_TC_BACKEND | 字符串 | auto |
选择用于附加流量控制探针的后端。Linux 6.6 添加了对基于文件描述符的流量控制附加功能 TCX 的支持,提供了更强大的附加流量控制探针的方式(它不需要明确的 qdisc 管理,并提供了确定性的探针链式连接方式)。因此,我们建议对于 >= 6.6 的内核使用 tcx
后端。当设置为 auto
时,Beyla 会根据底层内核选择最合适的后端。
接受的后端有 tc
、tcx
和 auto
。空值或未设置的值默认为 auto
。
YAML | 环境变量 | 类型 | 默认值 |
---|---|---|---|
http_request_timeout | BEYLA_BPF_HTTP_REQUEST_TIMEOUT | 字符串 | (0 毫秒) |
配置一个 HTTP 请求被视为超时的时长。此选项允许 Beyla 报告超时且永不返回的 HTTP 事务。要启用自动 HTTP 请求超时功能,请将此选项设置为非零值。当请求自动超时时,Beyla 会报告 HTTP 状态码 408。断开连接可能会被误解为超时,因此设置此值可能会错误地增加您的请求平均值。
YAML | 环境变量 | 类型 | 默认值 |
---|---|---|---|
high_request_volume | BEYLA_BPF_HIGH_REQUEST_VOLUME | 布尔值 | (假) |
配置 HTTP 跟踪器启发式算法,以便在检测到响应后立即发送遥测事件。设置此选项会降低大响应请求的时间精度,但在高请求量场景中,此选项会减少丢失的跟踪事件数量。