기본 스케줄러 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 |
| 배치 종류 | 시작 시점 (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 순으로 자원 소비가 많습니다.