본문 바로가기
BackEnd/Project

[BigData] Ch12. Kafka StressTest

by 개발 Blog 2024. 9. 19.

공부 내용을 정리하고 앞으로의 학습에 이해를 돕기 위해 작성합니다.

 

이번 포스트에서는 카프카 설정이 실제 운영 환경에서 어떤 부하를 발생시킬지 예측하는 테스트를 진행한 내용을 다룬다. 이를 통해 시스템이 고부하 상태에서 어떻게 동작하는지 파악할 수 있다.

 

초기 테스트 설정

./kafka-producer-perf-test.sh --topic stress-test --num-records 1000 --throughput -1 --producer-props bootstrap.servers="3.39.223.252:9092,43.203.201.212:9092,3.36.122.61:9092" batch.size=10 acks=0 linger.ms=100 --record-size 1000
  • 배치 사이즈: 10
  • 레코드 크기: 1000 바이트
  • 보내는 레코드 수: 1000

결과

  • 1000 레코드 전송
  • 498.007968 레코드/초
  • 평균 대기 시간: 705.44 ms
  • 최대 대기 시간: 1130 ms

성능 향상을 위한 테스트 변경

다음으로, 배치 사이즈를 크게 하고 레코드 크기를 늘려 전송했다.

./kafka-producer-perf-test.sh --topic stress-test --num-records 10000 --throughput -1 --producer-props bootstrap.servers="3.39.223.252:9092,43.203.201.212:9092,3.36.122.61:9092" batch.size=1000 acks=0 linger.ms=100 --record-size 10000
  • 배치 사이즈: 1000
  • 레코드 크기: 10000 바이트
  • 보내는 레코드 수: 10000

결과

  • 데이터 처리량과 처리 시간이 증가하여, 더 많은 부하가 시스템에 가해졌다는 것을 확인할 수 있다.

이번엔 처리 레코드도 4500개 가까이 늘어나고 시간도 훨씬 는 것을 확인할 수 있다.

 

이렇게 스트레스 테스트를 통해 특정 카프카 설정이 시스템에 미치는 영향을 사전에 파악할 수 있으며, 최적의 설정을 찾는 데 도움을 줄 수 있다. 시스템의 한계와 성능을 이해하는 것은 안정적인 운영을 위해 매우 중요하다.