1.16.2. 로드 테스트 결과
업스트림 Istio 커뮤니티 로드 테스트 메시는 초당 70,000개의 메시 전체 요청이 있는 1000개의 서비스와 2000개의 사이드카로 구성됩니다. Istio 1.6.8을 사용하여 테스트를 실행하면 다음과 같은 결과가 생성됩니다.
- Envoy 프록시는 프록시를 통과하는 초당 1000개 요청마다 0.5 vCPU 및 50MB 메모리를 사용합니다.
- Istiod는 1개의 vCPU 및 1.5GB 메모리를 사용합니다.
- Envoy 프록시는 3.12ms를 90번째 백분율 대기 시간에 추가합니다.
-
레거시
istio-telemetry
서비스(기본적으로 Service Mesh 2.0에서 비활성화됨)는 Mixer를 사용하는 배포에 대해 초당 1,000 개의 메시 전체 요청마다 0.6 vCPU를 사용합니다. 데이터 플레인 구성 요소인 Envoy 프록시는 시스템을 통과하는 데이터를 처리합니다. 컨트롤 플레인 구성 요소 Istiod는 데이터 플레인을 구성합니다. 데이터 플레인과 컨트롤 플레인에는 별도의 성능 문제가 있습니다.
1.16.2.1. 컨트롤 플레인 성능
Istiod는 사용자가 승인한 구성 파일 및 시스템의 현재 상태를 기반으로 사이드카 프록시를 구성합니다. Kubernetes 환경에서 CRD(Custom Resource Definitions)와 배포는 시스템의 구성 및 상태를 구성합니다. 게이트웨이 및 가상 서비스와 같은 Istio 구성 오브젝트는 사용자 인증된 구성을 제공합니다. 프록시에 대한 구성을 생성하기 위해 Istiod는 Kubernetes 환경과 사용자 인증된 구성에서 결합된 구성 및 시스템 상태를 처리합니다.
컨트롤 플레인은 수천 개의 서비스를 지원하며, 유사한 수의 사용자 인증된 가상 서비스 및 기타 구성 오브젝트가 포함된 수천 개의 Pod에 분산됩니다. Istiod의 CPU 및 메모리 요구 사항은 구성 수와 가능한 시스템 상태에 따라 확장됩니다. CPU 사용량은 다음과 같은 요인에 따라 확장됩니다.
- 배포 변경 비율.
- 구성 변경 비율.
- Istiod에 연결된 프록시 수.
그러나 이 부분은 기본적으로 수평 확장할 수 있습니다.