2.5. resources
Apache Kafka 컨테이너의 Streams에 대한 리소스를 제어하도록 리소스 요청 및 제한을 구성합니다. 메모리 및 cpu 리소스에 대한 요청 및 제한을 지정할 수 있습니다. 요청은 Kafka의 안정적인 성능을 보장하기에 충분해야 합니다.
프로덕션 환경에서 리소스를 구성하는 방법은 여러 요인에 따라 다릅니다. 예를 들어 애플리케이션은 OpenShift 클러스터에서 리소스를 공유할 수 있습니다.
Kafka의 경우 배포의 다음 측면이 필요한 리소스에 영향을 미칠 수 있습니다.
- 메시지 처리량 및 크기
- 메시지를 처리하는 네트워크 스레드 수
- 생산자 및 소비자 수
- 주제 및 파티션 수
리소스 요청에 지정된 값은 예약되어 있으며 컨테이너에서 항상 사용할 수 있습니다. 리소스 제한은 지정된 컨테이너에서 사용할 수 있는 최대 리소스를 지정합니다. 요청과 제한 사이의 양은 예약되지 않으며 항상 사용 가능하지 않을 수 있습니다. 컨테이너는 사용 가능한 경우에만 리소스를 제한까지 사용할 수 있습니다. 리소스 제한은 임시이며 다시 할당할 수 있습니다.
리소스 요청 및 제한
요청 없이 제한을 설정하거나 그 반대의 경우 OpenShift는 둘 다 동일한 값을 사용합니다. 리소스에 대한 동등한 요청 및 제한을 설정하면 서비스 품질이 보장되므로 OpenShift는 제한을 초과하지 않는 한 컨테이너를 종료하지 않습니다.
하나 이상의 지원되는 리소스에 대한 리소스 요청 및 제한을 구성할 수 있습니다.
리소스 구성 예
Topic Operator 및 User Operator에 대한 리소스 요청 및 제한은 Kafka 리소스에 설정됩니다.
OpenShift 클러스터에서 사용 가능한 사용 가능한 리소스보다 많은 리소스 요청이 있는 경우 Pod는 예약되지 않습니다.
Apache Kafka의 스트림은 메모리 및 cpu 리소스를 지정하는 데 OpenShift 구문을 사용합니다. OpenShift에서 컴퓨팅 리소스를 관리하는 방법에 대한 자세한 내용은 Managing Compute Resources for Containers 를 참조하십시오.
- 메모리 리소스
메모리 리소스를 구성할 때 구성 요소의 총 요구 사항을 고려하십시오.
Kafka는 JVM 내부에서 실행되며 운영 체제 페이지 캐시를 사용하여 디스크에 쓰기 전에 메시지 데이터를 저장합니다. Kafka의 메모리 요청은 JVM 힙 및 페이지 캐시에 적합해야 합니다.
jvmOptions속성을 구성하여 최소 및 최대 힙 크기를 제어할 수 있습니다.다른 구성 요소는 페이지 캐시에 의존하지 않습니다. 힙 크기를 제어하도록
jvmOptions를 구성하지 않고 메모리 리소스를 구성할 수 있습니다.메모리 요청 및 제한은 메가바이트, 기가바이트, 메비바이트, 기가바이트 단위로 지정됩니다. 사양에 다음 접미사를 사용합니다.
-
m(MB)
-
g(GB)
-
Mifor mebibytes -
GIfor gibibytes
다른 메모리 단위를 사용하는 리소스의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 메모리 사양 및 추가 지원되는 단위에 대한 자세한 내용은 메모리 측정을 참조하십시오.
-
m(MB)
- CPU 리소스
CPU 요청은 언제든지 안정적인 성능을 제공할 수 있어야 합니다. CPU 요청 및 제한은 코어 또는 밀리코어 /밀리코어 로 지정됩니다.
CPU 코어는 정수(
5CPU 코어) 또는 10진수(2.5CPU 코어)로 지정됩니다. 1000 밀리코어 는1개의 CPU 코어와 동일합니다.CPU 단위 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 1개의 CPU 코어의 컴퓨팅 성능은 OpenShift가 배포된 플랫폼에 따라 다를 수 있습니다.
CPU 사양에 대한 자세한 내용은 CPU 측정을 참조하십시오.