모노 레포 프로젝트 진행하면서 튜터님께서 갑자기 질문하셨다.
"우리 프로젝트 서버에 올리면 몇 명정도 처리가 가능할 것 같나요? DAU로 설명하실 수 있나요?" 라고 물어보셨다.
이 질문을 듣자마자 저 깊은 마음 속부터 "아니요" 라는 말이 나왔다.
뭐 그래도 모르는거 인정하고 알아가면 되니까 ㅇㅈ? ㅇㅇㅈ
DAU 란?
- DAU는 하루 동안 서비스나 애플리케이션을 활성화하여 사용한 고유 사용자 수를 나타내는 지표입니다.
이 지표는 사용자 참여도, 사용자 유지율, 서비스의 인기도를 측정하는 데 유용합니다.
DAU를 측정하는 이유
- DAU를 추적함으로써 서비스의 성장 추이나 사용자 행동 패턴을 파악할 수 있으며,
DAU 지표를 통해 시스템 성능, 서버 확장 필요성, 리소스 관리 등을 예측하고 개선할 수 있습니다
DAU 증가 대응 전략
- DB 쿼리 최적화
- 로그 및 모니터링을 통해 병목지점 파악
- 로드 밸런스를 이용하여 트래픽을 분산
- EC2 오토스케일링을 설정하여 트래픽 양에 맞춰 서버 인스턴스 수를 자동으로 조정
프리티어(t2.micro)에서 DAU 계산
- 소규모 애플리케이션: 100 ~ 300명의 DAU는 프리티어 인스턴스에서 비교적 문제 없이 감당할 수 있습니다.
- 중간 규모 애플리케이션: 500 ~ 1,000명의 DAU는 서버 최적화와 캐시 사용을 통해 감당할 수 있을 수 있지만, 정기적인 성능 모니터링과 리소스 관리가 필요합니다.
- 고급 트래픽: DAU가 1,000명 이상으로 증가하면, 서버 성능과 리소스 한계가 문제가 될 수 있습니다.
예를 들어, CPU 크레딧이 소진되거나 메모리 부족 현상이 발생할 수 있습니다.
이 경우 로드 밸런싱, 오토스케일링 등을 도입해야 합니다
요약
- DAU 100명 이하: EC2 프리티어에서 충분히 감당할 수 있으며, 성능 최적화를 통해 추가적인 부담 없이 운영 가능.
- DAU 300~500명: 이 범위에서는 캐시 활용, DB 최적화, 비동기 처리 등을 통해 잘 운영할 수 있지만, 성능 모니터링과 리소스 관리가 중요.
- DAU 1,000명 이상: 성능 저하가 발생할 가능성이 크며, EC2 인스턴스 업그레이드 및 오토스케일링 도입이 필요합니다.