인프런 커뮤니티 질문&답변

서준영님의 프로필 이미지
서준영

작성한 질문수

카프카 완벽 가이드 - 커넥트(Connect) 편

강의 실습 코드와 교재 다운로드 받기

connector의 적정 tasks.max 값은 어떻게 될까요?

작성

·

531

0

s3 sink connector 설정 관련해서 문의드립니다.

적절한 tasks.max의 값은 어떻게 될까요?

여러 요인이 있겠지만 특히 토픽의 파티션 개수와 관련하여 정해야하는지 문의드립니다.

답변 1

1

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

제가 s3 sink connector는 사용해 보지 않았지만,

(s3 sink connector가 제대로 구현되었다면) 말씀하신대로 tasks.max는 여러개의 파티션이 있을 때 적용해 주면 좋습니다.

기본적으로 sink connector의 tasks.max는 sink connector에서 consumer thread의 tasks.max만큼 띄우게 됩니다.

tasks.max가 4라면 4개의 Consumer Thread가 띄워질 수 있는데, 만약에 Topic의 Partition이 4라면 개별 Consumer별로 하나의 Partition으로 최적 성능을 발휘 할 수가 있습니다. tasks.max가 4이고 Partition이 8이라면 1개의 Consumer가 2개의 Partition을 담당할 수 있습니다.

하지만 무조건 tasks.max를 증가시킨다고 성능이 선형적으로 증가하지는 않습니다. Consumer가 수행되는 시스템의 CPU Core (1 core에 1 Consumer가 적당)나 I/O 대역등의 영향이 있기 때문입니다.

감사합니다.

서준영님의 프로필 이미지
서준영

작성한 질문수

질문하기