2장. OpenShift Serverless Serving의 확장성 및 성능
OpenShift Serverless는 리소스 요구 사항과 스케일링 동작이 다른 여러 구성 요소로 구성됩니다. 이러한 구성 요소는 수평 및 수직으로 확장되지만 리소스 요구 사항과 구성은 실제 사용 사례에 따라 크게 달라집니다.
- Control-plane 구성 요소
- 이러한 구성 요소는 사용자 정의 리소스를 관찰 및 대응하고 시스템을 지속적으로 재구성합니다(예: 컨트롤러 Pod).
- 데이터 플레인 구성 요소
- 이러한 구성 요소는 요청 및 응답 처리(예: Knative Servings 활성화 구성 요소)에 직접 연결됩니다.
다음 테스트 설정을 사용하여 다음 메트릭 및 결과가 기록되었습니다.
- OpenShift Container Platform 4.13을 실행하는 클러스터
- 시스템 유형 m6.xlarge를 사용하여 AWS에서 4개의 컴퓨팅 노드를 실행하는 클러스터
- OpenShift Serverless 1.30
2.1. OpenShift Serverless Serving 오버헤드
OpenShift Serverless Serving의 구성 요소는 데이터 플레인의 일부이므로 클라이언트의 요청이 다음을 통해 라우팅됩니다.
- ingress-gateway(Kourier 또는 Service Mesh)
- 활성화기 구성 요소
- 각 Knative 서비스의 queue-proxy 사이드카 컨테이너
이러한 구성 요소는 네트워킹에 추가 홉을 도입하고 추가 작업을 수행합니다(예: 관찰 기능 및 요청 대기열 추가). 다음은 측정된 대기 시간 오버헤드입니다.
- 각 추가 네트워크 홉은 요청에 0.5ms ~ 1ms 대기 시간을 추가합니다. Knative 서비스의 현재 로드에 따라 Knative 서비스가 요청 전에 0으로 스케일링된 경우 활성화기 구성 요소는 항상 데이터 플레인의 일부가 아닙니다.
- 페이로드 크기에 따라 각 구성 요소는 초당 2500개의 요청을 처리하기 위해 최대 1개의 CPU vCPU를 사용합니다.