AI 시스템 구축: 성능 개선 – 캐싱 및 배치 처리
ㅁ 성능 개선
ㅇ 정의:
– 시스템의 처리 속도와 효율성을 높이기 위해 데이터 처리 및 모델 추론 과정에서 불필요한 연산을 줄이고 자원을 최적화하는 기법.
ㅇ 특징:
– 응답 지연(latency) 감소, 처리량(throughput) 증가
– 하드웨어 자원(CPU, GPU, 메모리) 효율적 사용
– 알고리즘적 최적화와 시스템 구조 개선을 병행
ㅇ 적합한 경우:
– 대규모 데이터 실시간 처리 필요 시
– 반복 연산이 많은 모델 추론 환경
– 서버 비용 절감이 중요한 서비스
ㅇ 시험 함정:
– 단순히 하드웨어 성능을 높이는 것과 혼동
– 모든 상황에서 캐싱이나 배치 처리가 항상 유리하다고 오해
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “반복적으로 요청되는 동일 데이터에 대해 캐싱을 적용하면 응답 속도가 향상된다.”
– X: “배치 처리는 항상 실시간 처리보다 빠르다.”
================================
1. 캐싱 및 배치 처리
ㅇ 정의:
– 캐싱: 자주 사용되는 데이터나 연산 결과를 메모리에 저장해 재사용하는 기법
– 배치 처리: 여러 건의 작업을 모아 한 번에 처리하는 방식
ㅇ 특징:
– 캐싱: 데이터 재계산/재조회 최소화, 메모리 사용량 증가 가능
– 배치 처리: I/O 및 연산 효율성 증가, 지연 시간 발생 가능
– 둘 다 시스템 부하를 줄이고 처리 효율을 높임
ㅇ 적합한 경우:
– 캐싱: 동일 요청이 반복되는 API, 모델 예측 결과 재사용
– 배치 처리: 대량 데이터 분석, 비실시간 로그 처리
ㅇ 시험 함정:
– 캐싱: 데이터 변경 시 캐시 무효화 전략 미고려
– 배치 처리: 실시간성이 중요한 서비스에 적용 시 문제 발생
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “캐싱은 동일한 연산 결과를 재사용하여 처리 속도를 높인다.”
– X: “배치 처리는 항상 실시간 처리보다 효율적이다.”
ㅁ 추가 학습 내용
캐싱 전략에는 LRU(Least Recently Used), LFU(Least Frequently Used)와 같은 알고리즘이 있으며, 캐시 무효화 정책이 중요하다.
배치 처리에서는 스케줄링 주기, 실패 시 재처리 로직, 데이터 정합성 관리가 핵심이다.
분산 환경에서는 분산 캐시(Redis, Memcached)와 분산 배치 처리 프레임워크(Spark, Hadoop) 사용 여부가 성능에 큰 영향을 미치므로, 각 기술의 장단점을 숙지해야 한다.
또한, 캐싱과 배치 처리를 혼합하여 사용하는 하이브리드 접근법도 출제될 수 있다.