2.Back-of-the-envelope estimation
2장. 개략적인 규모 추정
Last updated
2장. 개략적인 규모 추정
Last updated
개략적인 규모 추정은 보편적으로 통용되는 성능 수치상에서 사고 실험을 행하여 추정치를 계산하는 행위로서, 어떤 설계가 요구사항에 부합할 것인지 보기 위한 것입니다.
데이터 저장과 전송에서 효율성을 높이기 위해 2의 제곱수 개념이 자주 사용됩니다.
다양한 컴퓨팅 작업에 대한 지연 시간을 이해하면 시스템 성능 최적화에 도움이 됩니다.
메모리는 빠르지만 디스크는 느리다.
디스크 탐색은 가능한 피해라.
단순한 압축 알고리즘은 빠르다
데이터를 인터넷으로 전송하기 전에 가능하면 압축하라
데이터 센터는 보통 여러 지역에 분산되어 있고, 센터들 간에 데이터를 주고받는 데는 시간이 걸린다.
시스템 가용성(availability)은 시스템이 얼마나 신뢰성 있게 동작하는지를 나타내는 지표입니다. 일반적으로 가용성은 "구간 시간 동안 시스템이 정상적으로 작동하는 비율"로 정의됩니다.
가용성(%) = (가동 시간 / 총 시간) × 100
Monthly Active User = 300,000,000
50%의 사용자가 매일 사용한다.
유저당평균적으로 2개의 트윗을 보낸다.
미디어를 포함하는 트윗은 10% 정도다.
데이터는 5년간 보관된다.
평균 트윗 크기
tweet_id: 64바이트
텍스트: 140바이트
미디어: 1MB
QPS 추정치
DAU = MAU x 50% = 150,000,000
QPS = 150,000,000 x 2트윗 / 24 / 3600 = 초당 약 3500 쿼리
최대 Peek QPS = 2 x QPS = 약 7000
미디어 저장소 요구량 = 150,000,000 x 2 x 10% x 1MB = 30TB/일.
5년치 필요 저장 공간 = 30TB * 365 * 5 = 약55PB
Peek QPS: 최대 요청 수. 특정 이벤트나 시간대에 트래픽이 집중되는데, 최악의 시나리오를 고려하여 보통 x2를 합니다.
QPS: 평균 요청 수