기본 스케줄러 1:49 스프링 배치 iteratorItemReader 2:05 스프링 배치 pagingItemReader 2:52 스프링 배치 cursorItemReader 3:17

총 처리 시간

구분 시작 시간 종료 시간 총 실행 시간(ms)
기본 스케줄러 1751388540009 1751388541395 1,386
Iterator 방식 1751389500138 1751389503688 3,550
Paging 방식 1751392320089 1751392326841 6,752
Cursor 방식 1751393820092 1751393824299 4,207

CPU 사용량

배치 종류 시작 시점 (ns) 종료 시점 (ns) 증가량 (사용량)
기본 스케줄러 15668057000 15874657000 206600000
Iterator 15874657000 16194359000 319702000
Paging 16390082000 17012794000 622712000
Cursor 17012794000 17373922000 361128000

Prometheus의 process_cpu_time_ns_total 지표를 활용해 각 배치 방식의 실행 구간에서의 CPU 사용량 증가량을 비교하였습니다.

배치 실행 시간이 수 초 이내로 짧아, 각 실행 시점의 전후값이 아닌 구간 전체 변화량을 기반으로 측정했습니다.

이 방식은 상대적인 CPU 부하량 비교에 유효하며, 실제 운영 환경과 유사한 조건에서 측정된 현실적인 수치로 판단됩니다.

결론

⇒ 단순 CPU 소비 측면에서만 보면 기본 스케줄러 < Iterator < Cursor < Paging 순으로 자원 소비가 많습니다.

메모리 사용량

메모리 영역 별 특징