728x90
반응형
초당 50만건의 데이터 처리를 위한 카프카 server.properties 설정 값을 변경해야 하며, 아래와 같음.
config 설정 값을 변경 후에 데이터 처리 테스트를 진행해볼 예정임.
1. num.partitions
이 설정은 Kafka 토픽에 대한 파티션 수를 결정합니다.
파티션 수를 늘릴수록 초당 처리 가능한 이벤트 수가 증가합니다. 따라서, 이 값을 높여야 할 수 있습니다.
이 값은 토픽을 생성할 때 설정하거나,
기존 토픽의 파티션 수를 변경할 때 수정할 수 있습니다.
# num.partitions=100
2. message.max.bytes
이 설정은 Kafka에서 처리 가능한 최대 메시지 크기를 결정합니다.
메시지가 크면 Kafka의 처리 성능이 저하될 수 있으므로, 가능한한 작은 크기로 설정해야합니다.
# message.max.bytes=1048576
3. max.request.size
이 설정은 Kafka 클라이언트가 보낼 수 있는 최대 요청 크기를 결정합니다.
이 값은 클라이언트에서 보내는 데이터의 크기를 결정합니다.
이 값을 높이면 클라이언트에서 보낼 수 있는 데이터의 양이 증가하므로 처리 성능이 향상됩니다.
# max.request.size=1048576
4. socket.send.buffer.bytes & socket.receive.buffer.bytes
이러한 설정은 Kafka 클라이언트와 서버 간의 소켓 버퍼 크기를 결정합니다.
소켓 버퍼 크기가 작으면 Kafka의 처리 성능이 저하될 수 있습니다.
이 값은 Kafka 클러스터의 운영 체제 및 하드웨어에 따라 달라질 수 있습니다.
가능한한 큰 값을 설정하는 것이 좋습니다.
# socket.send.buffer.bytes=102400 socket.receive.buffer.bytes=102400
초당 50만건 처리가 안된다면,
kafka producer, kafka consumer, kafka broker 설정 값도 변경할 예정임.
1. 카프카 프로듀서 설정 변경
현재 프로듀서가 사용하는 설정 중,
batch.size와 linger.ms 설정을 변경하여 성능을 향상시킬 수 있습니다.
batch.size는 프로듀서가 메시지를 배치로 전송할 때
사용하는 배치 크기를 지정하는 값이며, linger.ms는 메시지 배치가 전송되기 전에
대기하는 시간을 지정하는 값입니다.
이를 조정하여 프로듀서의 성능을 높일 수 있습니다.
# producer.batch.size=65536
# producer.linger.ms=100
2. 카프카 컨슈머 설정 변경
현재 컨슈머가 사용하는 설정 중,
fetch.max.bytes와 max.poll.records 설정을 변경하여 성능을 향상시킬 수 있습니다.
fetch.max.bytes는 컨슈머가 서버로부터 받을 수 있는 최대 바이트 수를 지정하는 값이며,
max.poll.records는 컨슈머가 poll() 메소드를 호출할 때 가져올 최대 레코드 수를 지정하는 값입니다.
이를 조정하여 컨슈머의 성능을 높일 수 있습니다.
# fetch.max.bytes=1048576
# max.poll.records=5000
3. 카프카 브로커 설정 변경
현재 브로커가 사용하는 설정 중,
num.network.threads와 num.io.threads 설정을 변경하여 성능을 향상시킬 수 있습니다.
num.network.threads는 브로커에서 소켓 요청을 처리하는 스레드 수를 지정하는 값이며,
num.io.threads는 디스크 I/O 작업을 처리하는 스레드 수를 지정하는 값입니다.
이를 조정하여 브로커의 성능을 높일 수 있습니다.
# num.network.threads=3
# num.io.threads=8
728x90
반응형
'Error > problem and solution' 카테고리의 다른 글
카프카 500,000 events/s 처리(2) (1) | 2023.05.11 |
---|---|
[KAFKA] Failed to clean up log for __consumer_offsets, Shutdown broker because all log dirs in 원인 분석 및 해결방안 (1) | 2023.04.24 |
(Python) 대용량 데이터 처리 속도 높이기(3) (0) | 2023.04.20 |
(Python) 대용량 데이터 처리 속도 높이기(1) (1) | 2023.04.18 |
(M1 mac) vpn 연결 및 gitlab 접속 문제 해결 (0) | 2023.04.18 |
댓글