Налаштування продуктивності OBI

Налаштуйте, як компонент eBPF трейсер інструментує HTTP та GRPC сервіси зовнішніх процесів і створює трейси для передачі на наступний етап конвеєра.

Ви можете використовувати eBPF трейсер для тонкої настройки продуктивності OBI.

Ви можете налаштувати компонент у секції ebpf вашої YAML конфігурації або за допомогою змінних середовища.

YAML
змінна середовища
ОписТипСтандартно
wakeup_len

OTEL_EBPF_BPF_WAKEUP_LEN

Встановлює, скільки повідомлень OBI накопичує в eBPF буфері викликів перед надсиланням запиту на пробудження в простір користувача. Див. довжина пробудження.int500
stats_wakeup_data_bytes

OTEL_EBPF_STATS_WAKEUP_DATA_BYTES

Встановлює мінімальну кількість байтів у черзі перед пробудженням споживача буфера виклику статистики TCP. Див. поріг пробудження статистики.int4096
traffic_control_backend

OTEL_EBPF_BPF_TC_BACKEND

Вибирає бекенд для підключення проб трафіку. Див. розділ бекенд контролю трафіку для отримання деталей.stringauto
http_request_timeout

OTEL_EBPF_BPF_HTTP_REQUEST_TIMEOUT

Встановлює інтервал часу, після якого OBI вважає HTTP запит тайм-аутом. Див. розділ тайм-аут HTTP запиту для отримання деталей.string(0ms)
high_request_volume

OTEL_EBPF_BPF_HIGH_REQUEST_VOLUME

Відправляє телеметричні події, як тільки OBI виявляє відповідь. Див. розділ високий обсяг запитів для отримання деталей.boolean(false)
maps_config.global_scale_factorМасштабує розміри мап eBPF у ступенях двійки. Позитивні значення збільшують розміри мап, негативні значення зменшують розміри, а 0 залишає стандартне значення. Див. розділ зміна розмірів мап eBPF для отримання деталей.int0

Тривалість пробудження

OBI накопичує повідомлення в eBPF буфері викликів та надсилає запит на пробудження в простір користувача, коли досягає цього значення.

Для сервісів з високим навантаженням встановіть цю опцію на більше значення, щоб зменшити навантаження на ЦП.

Для сервісів з низьким навантаженням високі значення можуть затримати момент, коли OBI подає метрики і коли вони стають видимими.

Поріг пробудження статистики

stats_wakeup_data_bytes керує буфером виклику статистики TCP незалежно від wakeup_len. Вищі значення зменшують пробудження простору користувача під навантаженням за рахунок затримки доставки метрик. Встановіть значення 0, щоб пробуджувати споживача для кожної події. Тримайте значення значно нижчим за розмір буфера виклику, щоб поставлені в чергу події були оброблені до заповнення буфера.

Бекенд контролю трафіку

Ця опція вибирає бекенд для підключення проб трафіку. Linux 6.6 додає підтримку TCX, підключення контролю трафіку на основі файлових дескрипторів. TCX є більш надійним, не вимагає явного управління qdisc і складає ланцюг проб детерміновано. Ми рекомендуємо бекенд tcx для ядер >= 6.6. Коли встановлено в auto, OBI вибирає найкращий бекенд для вашого ядра.

Прийняті бекенди: tc, tcx та auto. Якщо ви залишите це значення порожнім або не встановленим, OBI використовує auto.

Тайм-аут HTTP запиту

Ця опція встановлює, як довго OBI чекає, перш ніж вважати HTTP запит тайм-аутом. OBI може повідомляти про HTTP транзакції, які уходять в тайм-аут і ніколи не повертаються. Встановіть цю опцію на ненульове значення, щоб увімкнути автоматичні тайм-аути HTTP запитів. Коли запит переходить в тайм-аут, OBI повідомляє HTTP код 408. Відключення можуть виглядати як тайм-аути, тому встановлення цього значення може збільшити ваші середні запити.

Високий обсяг запитів

Ця опція змушує OBI надсилати телеметричні події, як тільки він виявляє відповідь. Це зменшує точність таймінгу для запитів з великими відповідями, але в умовах високого обсягу сценаріїв це допомагає зменшити кількість втрачених подій трасування.

Зміна розмірів мап eBPF

Опція maps_config.global_scale_factor дозволяє динамічно змінювати розміри мап eBPF під час виконання для налаштування продуктивності залежно від характеристик вашого навантаження.

  • Значення > 0 збільшують розміри мап у ступенях двійки (наприклад, 1 означає 2x, 2 означає 4x).
  • Значення < 0 зменшують розміри мап у ступенях двійки (наприклад, -1 означає 1/2x, -2 означає 1/4x).
  • Стандартне значення: 0 залишає стандартні розміри мап.
  • Діапазон допустимих значень: -3 до 3.

Приклад конфігурації:

ebpf:
  maps_config:
    global_scale_factor: 1 # Подвоїти стандартні розміри мап

Це особливо корисно в контейнеризованих або Kubernetes середовищах, де обмеження ресурсів можуть вимагати ретельного налаштування використання памʼяті eBPF.


Востаннє змінено July 12, 2026: [uk] Ukrainian documentation for OpenTelemetry (83a19542)