성능 및 리소스 최적화
AWS에서 애플리케이션 배포하기
Dunieski Otano
Amazon Web Services Solutions Architect
느리고 비용이 많이 드는 상태
트래픽이 급증하면 앱 속도가 느려집니다
같은 달에 Lambda 요금이 급증합니다
튜닝하면 더 빠르고 저렴해집니다
비용과 콜드 스타트를 고려한 동시성 설정
예약: 상한 설정과 보호
함수의 용량 상한을 설정하고 보장합니다
가장 저렴한 제어 방식이지만, 콜드 스타트에는 효과가 없습니다
프로비저닝: 워밍업 비용 지불
인스턴스를 미리 워밍업시켜 콜드 스타트가 없습니다
비용이 더 들므로 지연 시간이 중요한 경우에만 사용하세요
실행 시간-비용 곡선으로 메모리 최적화하기
메모리가 늘어나면 CPU도 늘어나
실행 시간이 짧아집니다
비용 = 메모리 가격 x 실행 시간
가장 저렴한 지점은 보통
중간
입니다
여러 크기로 프로파일링한 후 선택하세요
애플리케이션 수준 캐싱
실행 컨텍스트 내에서
작업을 재사용하세요
워밍업된 Lambda는 호출 간에 전역 변수를 유지합니다
설정, 클라이언트, 자주 조회하는 데이터를 캐시하세요
인스턴스 간 공유 캐시로
ElastiCache
를 사용하세요
에지에서의 CloudFront 캐싱
CloudFront
: 에지 로케이션에서 응답을 캐시합니다
백엔드를 거치지 않고 반복 요청을 처리합니다
캐시 키에는
헤더, 쿼리 문자열, 쿠키
를 포함할 수 있습니다
정적이고 캐시 가능한 콘텐츠는 비용 없이 확장됩니다
적절한 캐시 계층 선택하기
에지(CloudFront)
: 정적이고 널리 공유되는 콘텐츠
애플리케이션(인메모리)
: 인스턴스별 자주 사용하는 객체
데이터(ElastiCache/DAX)
: 공유되는 빈번한 읽기
계층을 쌓으면 각각 다른 비용을 절감합니다
최적화 종합하기
실행 시간-비용 곡선
으로 메모리를 최적화하세요
지연 시간이 중요한 경우에만 프로비저닝된 동시성을 추가하세요
에지, 앱, 데이터
계층에서 캐싱하세요
측정하고, 하나씩 변경하고, 다시 측정하세요
연습해 봅시다!
AWS에서 애플리케이션 배포하기
Preparing Video For Download...