19.4. 성능 튜닝 개요
클러스터 재조정을 위해 여러 성능 튜닝 옵션을 조정할 수 있습니다. 이러한 옵션은 리밸런스에서의 파티션 복제본 및 리더십 이동 방식 및 리밸런스 작업에 할당된 대역폭을 제어합니다.
19.4.1. 파티션 재할당 명령 링크 복사링크가 클립보드에 복사되었습니다!
최적화 제안은 별도의 파티션 재할당 명령으로 구성됩니다. 제안을 승인 하면 Cruise Control 서버에서 이러한 명령을 Kafka 클러스터에 적용합니다.
파티션 재할당 명령은 다음 작업 유형 중 하나로 구성됩니다.
파티션 이동: 파티션 복제본과 해당 데이터를 새 위치로 전송합니다. 파티션 모음은 다음 두 가지 형식 중 하나를 수행할 수 있습니다.
- 브랜드 간 이동: 파티션 복제본이 다른 브로커의 로그 디렉터리로 이동됩니다.
- Intra-broker 이동: 파티션 복제본은 동일한 브로커의 다른 로그 디렉터리로 이동합니다.
- 리더십 이동: 파티션 복제본의 리더를 전환해야 합니다.
cruise Control은 배치의 Kafka 클러스터에 파티션 재할당 명령을 발행합니다. 리밸런스 중 클러스터 성능은 각 배치에 포함된 각 이동 유형의 영향을 받습니다.
19.4.2. 복제본 이동 전략 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 리밸런스 성능은 파티션 재할당 명령의 배치에 적용되는 복제본 이동 전략 의 영향을 받습니다. 기본적으로 Cruise Control은 생성된 순서대로 명령을 간단히 적용하는 BaseReplica CryostatmentStrategy 를 사용합니다. 그러나 제안 초기에 매우 큰 파티션 재할당이 있는 경우 이 전략은 다른 재할당의 적용 속도가 느려질 수 있습니다.
cruise Control은 최적화 제안에 적용할 수 있는 네 가지 대체 복제본 이동 전략을 제공합니다.
-
PrioritizeSmallReplicamentStrategy: 오름차순으로 재할당합니다. -
PrioritizeLargeReplicamentStrategy: 내림차순으로 재할당합니다. -
PostponeUrpReplica>-<mentStrategy: 동기화되지 않은 복제본이 없는 파티션 복제본의 재할당을 우선순위화합니다. -
PrioritizeMinIsrWithOfflineReplicasStrategy: 오프라인 복제본을 사용하여 (At/Under)MinISR 파티션을 사용하여 재할당을 우선순위화합니다. 이 전략은Kafka사용자 정의 리소스의 사양에서cruiseControl.config.concurrency.adjuster.min.isr.check.enabled가true로 설정된 경우에만 작동합니다.
이러한 전략은 시퀀스로 구성할 수 있습니다. 첫 번째 전략은 내부 논리를 사용하여 두 파티션 재할당을 비교하려고 합니다. 재할당이 동일한 경우 순서에서 다음 전략으로 전달하여 순서를 결정하는 등의 작업을 수행합니다.
19.4.3. Intra-broker 디스크 밸런싱 링크 복사링크가 클립보드에 복사되었습니다!
동일한 브로커의 디스크 간에 대량의 데이터를 이동해도 별도의 브로커보다 더 적은 영향을 미칩니다. 동일한 브로커에 여러 디스크가 있는 JBOD 스토리지를 사용하는 Kafka 배포를 실행 중인 경우 Cruise Control은 디스크 간에 파티션의 균형을 조정할 수 있습니다.
단일 디스크와 함께 JBOD 스토리지를 사용하는 경우 균형을 조정할 디스크가 없으므로 intra-broker 디스크 밸런싱이 0인 제안이 발생합니다.
intra-broker 디스크 균형을 수행하려면 KafkaRebalance.spec 에서 rebalanceDisk 를 true 로 설정합니다. rebalanceDisk 를 true 로 설정할 때 Cruise Control이 자동으로 브랜드 내 목표를 설정하고 브랜드 간 목표를 무시하므로 KafkaRebalance.spec 의 목표 필드를 설정하지 마십시오. 크루즈 컨트롤은broker와 intra-broker 밸런싱을 동시에 수행하지 않습니다.
19.4.4. 조정 옵션 재조정 링크 복사링크가 클립보드에 복사되었습니다!
크루즈 컨트롤은 위에서 설명한 리밸런스 매개변수를 조정하기 위한 몇 가지 구성 옵션을 제공합니다. Kafka 또는 최적화 제안 수준을 사용하여 Cruise Control을 구성하고 배포 할 때 이러한 튜닝 옵션을 설정할 수 있습니다.
-
Cruise Control 서버 설정은
Kafka.spec.cruiseControl.config의 Kafka 사용자 지정 리소스에서 설정할 수 있습니다. -
개별 리밸런스 성능 구성은
KafkaRebalance.spec아래에 설정할 수 있습니다.
관련 구성은 다음 표에 요약되어 있습니다.
| 크루즈 컨트롤 속성 | KafkaRebalance 속성 | 기본 | 설명 |
|---|---|---|---|
|
|
| 5 | 각 파티션 재할당 배치의 최대 구성 요소 수 |
|
|
| 2 | 각 파티션 재할당 배치에서 인트라브러 파티션의 최대 수 |
|
|
| 1000 | 각 파티션 재할당 배치의 최대 파티션 리더십 변경 수 |
|
|
| null (제한 없음) | 파티션 재할당에 할당할 대역폭(초당 바이트 단위) |
|
|
|
|
생성된 제안서에 대해 파티션 재할당 명령이 실행되는 순서를 결정하는 데 사용되는 전략 목록(우선순)입니다. 서버 설정의 경우 전략 클래스의 정규화된 이름으로 쉼표로 구분된 문자열을 사용합니다( 각 클래스 이름 시작에 |
| - |
| false | intra-broker 디스크 밸런싱을 활성화합니다. 이는 동일한 브로커의 디스크 공간 사용률의 균형을 유지합니다. 여러 디스크가 있는 JBOD 스토리지를 사용하는 Kafka 배포에만 적용됩니다. |
기본 설정을 변경하면 리밸런스가 완료하는 데 걸리는 시간과 재조정 중 Kafka 클러스터에 배치된 로드에 영향을 미칩니다. 더 낮은 값을 사용하면 로드가 줄어들지만 사용된 시간이 증가하고 그 반대의 경우도 마찬가지입니다.