Search
Duplicate
📒

[가상 면접 대규모 시스템] 02. 개략적인 규모 추정

상태
완료
수업
가상 면접 사례로 배우는 대규모 시스템 설계
주제
기본개념
4 more properties
참고

개략적인 규모 측정

NOTE
보편적으로 사용되는 성능 수치 항목들을 추정해서 계산하는 것!
필요한 기본기로 2의 제곱수나 응답지연(latency) 값과 가용성에 관계된 수치들의 이해가 필요하다.
2의 제곱수
응답지연 값
가용성에 관계된 수치들

2의 제곱수

NOTE
데이터 볼륨 단위를 계산하기 위해 사용 최소단위는 1바이트
아스키 문자 하나가 차지하는 메모리 크기가 1바이트, 보통 쓰는 UTF-8의 경우 1~4바이트
한글 또는 다국어를 고려하면 한 단어를 4바이트로 고려하는게 좋음
대략 많이 사용되는 기가바이트는 10억 (2^30)

응답지연 값

NOTE
메모리는 빠르지만 디스크는 느리다.
디스크 탐색은 가능한 피하라
단순한 압축 알고리즘은 빠르다.
데이터를 인터넷 전송하기 전에 가능하면 압축하라(gzip)
데이터 센터는 보통 여러 지역에 분산되어 있고 센터들 간에 데이터를 주고받는데는 시간이 걸린다.

가용성에 관계된 수치들

NOTE
99.99%가 기본이다

ex) 트위터 QPS(Query Per Second)와 저장소 요구량 추정

NOTE

가정

월간 능동 사용자는 3억명이다.
50%의 사용자가 트위터를 매일 사용한다.
평균적으로 각 사용자는 매일 2건의 트위터를 올린다.
미디어를 포함하는 트윗은 10%이다.
데이터는 5년간 보간된다.

추정

QPS 추정치
일간 능동 사용자
3억 * 50% = 1.5억
QPS
1.5억 * 2 트윗 / 24시간 / 3600초 = 약 3500
최대 QPS
2 * QPS = 약 7000
미디어 저장을 위한 저장소 요구량
평균트윗 크기
tweeid_id에 64바이트
텍스트에 140바이트
미디어에 1MB
미디어 저장소 요구량
1.5억 * 2 * 10% * 1MB = 30TB / 일
5년간 미디어 보관을 위한 저장소 요구량
30TB * 365 * 5 = 약 55PB