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