Производительность sidecar зависит от многих факторов, например:
Количество клиентских подключений
Целевая скорость запросов
Размер запроса и размера ответа
Количество рабочих потоков прокси
Протокол
Ядра CPU
Количество и типы фильтров прокси, в частности фильтров, связанных с telemetry v2.
Задержка, пропускная способность, а также потребление CPU и памяти прокси измеряются в зависимости от этих факторов.
Поскольку sidecar proxy выполняет дополнительную работу на пути данных, он потребляет CPU и память. Начиная с Istio 1.12.3, прокси потребляет около 0.5 vCPU на 1000 запросов в секунду.
Потребление памяти прокси зависит от общего состояния конфигурации, которое прокси хранит. Большое количество listeners, clusters и routes может увеличить использование памяти.
Поскольку прокси обычно не буферизует проходящие данные, скорость запросов не влияет на потребление памяти.
Поскольку Istio внедряет sidecar proxy на путь данных, задержка является важным фактором. Istio добавляет в прокси фильтр аутентификации, фильтр телеметрии и фильтр обмена метаданными. Каждый дополнительный фильтр увеличивает длину пути внутри прокси и влияет на задержку.
Прокси Envoy собирает необработанные данные телеметрии после того, как ответ отправлен клиенту. Время, затраченное на сбор необработанной телеметрии для запроса, не входит в общее время выполнения этого запроса. Однако, поскольку рабочий поток занят обработкой запроса, он не начнёт обработку следующего запроса сразу. Этот процесс увеличивает время ожидания в очереди следующего запроса и влияет на среднюю и максимальную задержки. Фактическая максимальная задержка зависит от паттерна трафика.
Внутри mesh запрос проходит через клиентский прокси, а затем через серверный прокси. В конфигурации по умолчанию Istio 1.12.3 (то есть Istio с telemetry v2) два прокси добавляют примерно 1.7 мс и 2.7 мс к 90-му и 99-му процентилю задержки соответственно по сравнению с базовой задержкой плоскости данных.
На уровне конфигурации кластера сервисной сетки можно задать стандартные квоты ресурсов Sidecar (CPU и память) для кластера. При добавлении сервисов эта конфигурация будет использоваться по умолчанию в качестве квоты ресурсов Sidecar.
Пользователи с правами управления платформой могут перейти на страницу сведений о сервисной сетке и на вкладке Configuration изменить стандартные квоты ресурсов Sidecar, обновив Cluster Dimension Configuration.
При добавлении нового сервиса задайте конкретные квоты ресурсов Sidecar (CPU и память).
После перехода на страницу сведений уже добавленного сервиса перейдите на вкладку Details и обновите конфигурацию Sidecar в разделе Sidecar