Производительность

Производительность sidecar зависит от множества факторов, например:

  • Количество клиентских подключений

  • Целевая скорость запросов

  • Размер запроса и размера ответа

  • Количество рабочих потоков прокси

  • Протокол

  • Ядра CPU

Количество и типы фильтров прокси, в частности фильтры, связанные с telemetry v2.
Задержка, пропускная способность, а также потребление CPU и памяти прокси измеряются в зависимости от этих факторов.

Содержание

Потребление CPU и памяти

Поскольку sidecar прокси выполняет дополнительную работу на пути данных, он потребляет CPU и память. Начиная с Istio 1.12.3, прокси потребляет примерно 0.5 vCPU на 1000 запросов в секунду.

Потребление памяти прокси зависит от общего состояния конфигурации, которую прокси хранит. Большое количество listeners, clusters и routes может увеличить использование памяти.

Поскольку прокси обычно не буферизует проходящие данные, скорость запросов не влияет на потребление памяти.

Дополнительная задержка

Поскольку Istio внедряет sidecar прокси на пути данных, задержка является важным фактором. Istio добавляет в прокси фильтр аутентификации, фильтр телеметрии и фильтр обмена метаданными. Каждый дополнительный фильтр увеличивает длину пути внутри прокси и влияет на задержку.

Прокси Envoy собирает необработанные данные телеметрии после того, как ответ отправлен клиенту. Время, затраченное на сбор необработанной телеметрии для запроса, не учитывается во время выполнения этого запроса. Однако, поскольку рабочий поток занят обработкой запроса, он не начнёт обработку следующего запроса сразу. Этот процесс увеличивает время ожидания в очереди следующего запроса и влияет на среднюю и максимальную задержки. Фактическая максимальная задержка зависит от характера трафика.

Внутри mesh запрос проходит через клиентский прокси, а затем через серверный прокси. В конфигурации по умолчанию Istio 1.12.3 (то есть Istio с telemetry v2) два прокси добавляют примерно 1.7 мс и 2.7 мс к 90-му и 99-му процентилю задержки соответственно по сравнению с базовой задержкой плоскости данных.

Настройка квот ресурсов sidecar (CPU и память)

Уровень кластера

На уровне конфигурации кластера сервисной сетки можно задать квоты ресурсов Sidecar по умолчанию (CPU и память) для кластера. При добавлении сервисов пользователями эта конфигурация будет использоваться как квота ресурсов Sidecar по умолчанию.

Пользователи с правами управления платформой могут перейти на страницу сведений о сервисной сетке и во вкладке Configuration изменить квоты ресурсов Sidecar по умолчанию, обновив Cluster Dimension Configuration.

Указание сервисов

  • При добавлении нового сервиса можно задать конкретные квоты ресурсов Sidecar (CPU и память).

  • После перехода на страницу сведений уже добавленного сервиса перейдите во вкладку Details и обновите конфигурацию Sidecar в разделе Sidecar