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