위치기반 케이크샵 지도 어플로, 원하는 케이크샵을 확인하고 상세정보를 확인할 수 있습니다. (현재 서울지역에서 서비스 중)
[케이크크 IOS 앱스토어 실적]
- 기준일: 23.08.12
- 총 노출 수: 2.9천
- 총 다운로드 수(재설치 제외): 105건 -> 288건(2023.12.27 기준)
- 전환율: 5.83%
- admin 케이크샵 이미지 업로드
- admin 케이크샵 카테고리 업로드
- 케이크샵 리스트 조회
- 지역별로 조회
- 이 지역 재검색
- 케이크샵 상세 조회
- 케이크샵 카테고리 조회
- 케이크샵 관련 네이버 블로그 조회
- 케이크샵 관련 네이버 가게 정보 조회
- 랜덤 케이크 사진으로 피드 조회
어떻게 풀어나갔는지 👇에 기록했습니다.
Backend
: Java, Spring Boot
Database
: queryDSL, JPA, PostgreSQL
CI/CD
: Docker, Jenkins, Github actions
AWS
: EC2, RDS, S3
Test
: K6, Grafana, Prometheus
외부API
: Naver 서비스 API
Etc
: Swagger
- 내 위치 허용 안함 -> 지역 이동 -> 상세보기 -> 사진 -> 블로그 -> 북마크 저장
1.mov
- 내 위치 허용(허용하면 자동으로 내 위치 주변 케이크샵이 조회됨) -> 이 지역 재검색 -> 리스트 -> 상세보기 -> 블로그 -> 공유하기 (인스타그램)
2.mov
- 내 위치 허용(허용하면 자동으로 내 위치 주변 케이크샵이 조회됨) -> 이 지역 재검색 -> 리스트 -> 상세보기 -> 블로그 -> 공유하기 (카카오톡)
3.mov
- 필터링 -> 리스트 -> 상세보기 -> 필터링 해제
4.mov
- 이 지역 재검색 -> 리스트 -> 북마크 -> 내가 찜한 케이크샵 리스트 -> 북마크 해제
5.mov
- 피드 -> 케이크샵 방문 -> 북마크 -> 웹사이트 방문
6.mov
- 필터링 -> 리스트 -> 사진 확대 -> 필터링 해제
7.mov
- 이 지역 재검색 -> 상세보기 -> 사진 확대 -> 북마크
8.mov
K6를 사용해 부하를 주고, Prometheus와 Grafana를 이용해 모니터링을 진행했습니다.
1일 총 요청수 = 1,000,000(백만)
1일 평균 rps(request per second) = 1,000,000 (백만) / 43200(12시간) = 23rps
1일 최대 rps = 1일 평균 rps * 피크 시간 집중률 = 23rps * 50 = 1150 rps
즉, throughput은 23(1일 평균 rps) ~ 115(1일 최대 rps)가 나오게 됩니다. 이 정보를 통해서 VUser를 계산할 수 있습니다.
목표 rps = Vuser * 1초당 요청 횟수
Vuser = 목표 rps / 1초당 요청 횟수
Vuser = 목표 rps * (한 번의 시나리오를 완료하는데 걸리는 시간) / (시나리오 당 요청수 = 1이니까 제외)
Vuser = 목표 rps * (한 번의 시나리오를 완료하는데 걸리는 시간)
평균 Vuser = 23 * 0.1s = 2
최대 Vuser = 1150 * 0.1(0.02 WAS 로직처리 + DB조회 0.08)s = 115