Skip to content

데모는 얼마나 재밌을까 회의 (2023‐08‐23)

Jiwon Choi edited this page Aug 30, 2023 · 1 revision

대용량 데이터 관련 토의 사항

  • 주문을 100만건으로 잡고, 다른 데이터를 채우자
    • 유저: 5만명
    • 상품: 500개
    • 재고: 주문을 기준으로 유동적으로 두기
    • 장바구니: ??(미정)

셀프 피드백 회고

  • 배찬우

문제가 발생하지 않았는데 문제가 발생했다고 쉐도우복싱한다. -> 직접 돌려보고 문제점을 찾고 해결하자!

문제를 해결해도 해결했는지 잘 모른다

  • 최지원

회의록에다가 주문이 어떻게 돌아가는지 기록해놔야 됐다고 생각함 - 계속 까먹음

어떤 의견이 나왔는지 까먹음

  • 백승윤

준영님 발표

플로우 차트를 그렸다

생각을 전달하는데 언어가 유용한 도구가 아니다

문서화를 뒷전으로 미루고 기능을 떙겼으니까 잘 했다 생각하고 이제 하면된다

진짜 회사 서비스라고 생각하자

→ API 문서 관련 피드백이 이 이유로 나오지 않았나 싶어요

중간 발표 피드백

API 문서가 있는지? -> 빠르게 추가하자!

배치 최적화 → 폭탄 던져보자

그래서 시나리오가 뭔데!

평균 구매금액 35000원

수수료는 얼마나 될까?

https://cloud.mkt.coupang.com/Fee-Table

coupang-soosooryo

식품 평균 수수료 8.5% (쿠팡 판매 수수료 참고)

우리는 얼마를 벌고 싶은가?

평균 구매 3.5만

매출 월 50억

하루에 1.6억의 매출

하루 4761 주문

순수익 월 4억 2500만

5시~~ 밤 10시

출처: 카페24 스토어

구매 전환율 2.95%

DAU 161389명의 조회

밀키트의 경우엔 직장인인 경우가 많을것이다

5~8시 사이가 피크 타임이 아닐까?

시간 분포가 어떻게 될까

  • 밀키트 구매 분포

    밀키트 ‘주초’, ‘17~20시’에 가장 많이 구매하고, 소비자 과반수 3040세대

    요일별로 보면 밀키트 판매량은 월요일>수요일>화요일 순으로 나타나, 밀키트 소비자들은 주초에 한주 식사를 계획하며 장을 보는 경우가 많은 것으로 분석됐다. 또, 마이셰프 자사몰 소비자 설문조사 결과, **밀키트 구매 주기는 ‘한 달에 23회’, 평균 구매 금액(1회 주문 기준)은 ‘34만원’**이라는 응답이 지배적이었다. 이로 보아, 평균적으로 소비자들은 매주 초에 일주일 치 제품을 구매해 한 주에 2개3개의 제품을 꾸준히 소비하는 것으로 확인된다. 제품 주문은 퇴근 시간대인 17시20시가 가장 많았다.

    소비자 연령대를 보면, 밀키트를 가장 많이 구매하는 연령은 40대(29%) > 30대(28.1%) > 20대(26.1%) > 50대(12.8%) 순으로 나타났다. 2020년에는 재택근무와 등교 중단으로 3040세대 주부층에 소비자가 몰려 있었다면(2020년 30대(35.9%) > 40대(35.8%) > 20대(19.7%) > 50대(6.9%)), 지난해에는 배달 음식보다 건강한 집밥에 눈을 돌리게 된 20대와 밀키트 취식 경험이 생긴 50대까지 고르게 소비층이 확대된 것을 확인할 수 있다.

    출처 : 데일리팝

피크타임은 17~20시

peek-time

60% 30% 10%

17시~20시

한 시간에 32277

초당 8명

그중 20~30의 접속

상품 조회가

최대 240 TPS

상품 주문이 초당

8 * 2.95% = 0.2명

한시간에 720건의 주문

실제로 240: 0.2의 문제가 발생함

→ 조회 성능 최적화가 우선 (GET)

상품에 조회 락 걸리면 서비스 무너짐


캐싱과 인덱스 처리가 우선이다

캐시 정책을 올린다?

누군가 상품을 조회하면 그거 캐싱해둔다 → 자주 보면 그 만큼 아낌

자자 다시

아니 식품은 사는 비율이 높을 것이다

25%의 구매 발생하자

평균 구매 3.5만원씨

매출 월 100억

하루에 3.2억의 매출

하루 9522 주문

순수익 월 8억 5000만

구매 전환율 25%

DAU 38000명

밀키트의 경우엔 직장인인 경우가 많을것이다

밀키트

38000 멤버 → 7일에 한번

26만 6천명의 멤버가 존재

60% 30% 10%

17시~20시

한 시간에 7600명의 멤버

초당 2명

한명이 50번의 조회 (실제 실험해봄)

상품 조회가

최대 100 TPS

상품 주문이 초당

2 * 25% = 0.5명

한시간에 1900건의 주문

실제로 100**: 0.5**의 문제가 발생함

카트 3

proOrder 1

Order 1

100:2.5


가정을 시작하자!

멤버 266000명 상품 1000개

100만 / 9522(하루 주문) = 105일

주문은 단조 증가로 생각하자 (꾸준한 성장을 한 서비스라는 가정) ⇒ 210일

→ 서비스 시작부터 9522건의 주문이 발생한게 아니니 단조 증가로 주문이 증가한다고 가정할 때 210일로 설정하는게 올바르다.

그래서 우리 서비스의 현재 상황은?

210째 운영중인 서비스

DAU 38000명

현재 멤버 보유 수는 266000명

상품은 1000개 보유중

상품은 처음부터 1000개 매주 입고가 된다

재고 레코드는 14000개 (단조 증가 가정 ( 나누기 2))

조회 TPS 100 : 주문/s 0.5

write 2.5

주문이 100만개면 결제 정보도 100만개로 둬야한다. → 결제에 상태 정보를 두어 소프트 delete로 둔다는 가정

7개월 - > 매주 입고가된다