配置 OBI 性能
配置 eBPF 跟踪器组件如何检测外部进程的 HTTP 和 GRPC 服务,并创建跟踪以转发到管道的下一阶段。
您可以使用 eBPF 跟踪器来精细调整 OBI 的性能。
您可以在 YAML 配置的 ebpf 部分或通过环境变量配置该组件。
| YAML 环境变量 | 描述 | 类型 | 默认值 |
|---|---|---|---|
wakeup_len
| 设置 OBI 在发送唤醒请求到用户空间之前,在 eBPF 环形缓冲区中累积的消息数量。请参阅 唤醒长度。 | 字符串 | (未设置) |
traffic_control_backend
| 选择用于附加流量控制探测的后端。有关详细信息,请参阅 流量控制后端 部分。 | 字符串 | auto |
http_request_timeout
| 设置 OBI 认为 HTTP 请求超时的间隔。有关详细信息,请参阅 HTTP 请求超时 部分。 | 字符串 | (0ms) |
high_request_volume
| 一旦 OBI 检测到响应,就发送遥测事件。请参阅 高请求量 部分以了解详细信息。 | 布尔值 | (false) |
唤醒长度
OBI 在 eBPF 环形缓冲区中累积消息,并在达到此值时向用户空间发送唤醒请求。
对于高负载服务,请将此选项设置得更高以减少 CPU 开销。
对于低负载服务,高值可能会延迟 OBI 提交指标的时间,从而延迟其可见性。
流量控制后端
此选项选择用于附加流量控制探测的后端。Linux 6.6 增加了对 TCX 的支持,这是一种基于文件描述符的流量控制附加机制。TCX 更健壮,不需要显式的 qdisc 管理,并且可以确定性地链接探测。对于内核版本 >= 6.6,我们推荐使用 tcx 后端。当设置为 auto 时,OBI 会为您的内核选择最佳后端。
可接受的后端:tc、tcx 和 auto。如果将此值留空或未设置,OBI 将使用 auto。
HTTP 请求超时
此选项设置 OBI 在将 HTTP 请求视为超时之前等待的时间。OBI 可以报告那些超时但永不返回的 HTTP 事务。将此选项设置为非零值以启用自动 HTTP 请求超时。当请求超时时,OBI 会报告 HTTP 状态码 408。断开连接可能看起来像超时,因此设置此值可能会增加您的请求平均值。
高请求量
此选项使 OBI 在检测到响应时立即发送遥测事件。这会降低具有大响应的请求的计时准确性,但在高吞吐量场景下,它有助于减少丢失的跟踪事件。