Налаштування продуктивності OBI
Ви можете використовувати eBPF трейсер для тонкої настройки продуктивності OBI.
Ви можете налаштувати компонент у секції ebpf вашої YAML конфігурації або за допомогою змінних середовища.
| YAML змінна середовища | Опис | Тип | Стандартно |
|---|---|---|---|
wakeup_len
| Встановлює, скільки повідомлень OBI накопичує в eBPF буфері викликів перед надсиланням запиту на пробудження в простір користувача. Див. довжина пробудження. | init | 500 |
traffic_control_backend
| Вибирає бекенд для підключення проб трафіку. Див. розділ бекенд контролю трафіку для отримання деталей. | string | auto |
http_request_timeout
| Встановлює інтервал часу, після якого OBI вважає HTTP запит тайм-аутом. Див. розділ тайм-аут HTTP запиту для отримання деталей. | string | (0ms) |
high_request_volume
| Відправляє телеметричні події, як тільки OBI виявляє відповідь. Див. розділ високий обсяг запитів для отримання деталей. | boolean | (false) |
maps_config.global_scale_factor | Масштабує розміри мап eBPF у ступенях двійки. Позитивні значення збільшують розміри мап, негативні значення зменшують розміри, а 0 залишає стандартне значення. Див. розділ зміна розмірів мап eBPF для отримання деталей. | int | 0 |
Тривалість пробудження
OBI накопичує повідомлення в eBPF буфері викликів та надсилає запит на пробудження в простір користувача, коли досягає цього значення.
Для сервісів з високим навантаженням встановіть цю опцію на більше значення, щоб зменшити навантаження на ЦП.
Для сервісів з низьким навантаженням високі значення можуть затримати момент, коли OBI подає метрики і коли вони стають видимими.
Бекенд контролю трафіку
Ця опція вибирає бекенд для підключення проб трафіку. 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.
Відгук
Чи це було корисним?
Дякуємо. Ми цінуємо ваші відгуки!
Будь ласка, дайте нам знати як ми можемо покращити цю сторінку. Ми цінуємо ваші відгуки!