mingg IT

[가상 면접 사례로 배우는 대규모 시스템 설계 기초] 2장 개략적인 규모 추정 본문

BackEnd

[가상 면접 사례로 배우는 대규모 시스템 설계 기초] 2장 개략적인 규모 추정

mingg123 2023. 7. 9. 16:44

개략적인 규모 추정

 

시스템 용량이나 성능 요구사항을 개략적으로 추적하는 행위

 

2의 제곱수

데이터 볼륨의 단위를 2의 제곱수로 표현

 
 

응답 지연 값

연산별 처리 속도

 
ns(나노초), us(마이크로초), ms(밀리초)이다.
 
아래는 쉽게 시각화 한 수치이다.

 

  • 메모리는 빠르지만 디스크는 아직도 느리다
  • 디스크 탐색(seek)은 되도록 피해라
  • 단순한 압축 알고리즘은 빠르다(데이터를 인터넷으로 전송하기 전에 가능하면 압축해라)
  • 데이터 센서는 보통 여러 지역으로 분산되어 있고, 센서들 간에 데이터를 주고받는 데는 시간이 걸림

 

고가용성

시스템이 오랜 시간 동안 지속적으로 중단 없이 운영될 수 있는 능력을 의미함.
 
100%에 가까울수록 시스템이 단 한 번도 중단된 적 없음을 나타냄. 
 
아마존, 구글, 마이크로소프트등은 99% 이상을 제공함.
 
 

예제: 트위터 QPS와 저장소 요구량 측정(연습용)

(가정)

  • 월간 능동 사용자는 3억(300 milion)명 이다
  • 50%의 사용자가 트위터를 매일 사용한다
  • 평균적으로 각 사용자는 매일 2건의 트윗을 올린다
  • 미디어를 포함하는 트윗은 10% 정도다
  • 데이터는 5년간 보관된다
  •  평균 트윗 크기 
    • tweet_id에 64바이트
    • 텍스트에 140바이트
    • 미디어에 1MB

 
QPS(Query per second) 추정치

  • 일간 능동 사용자 = 3억 * 50% = 1.5억(150 million)
  • QPS = 1.5억 * 2 / 24시간 / 3600초 = 약 3500
  • 최대 QPS (Peek QPS) = 2 * QPS = 약 7000

 
미디어 저장소 요구량

  • 1.5억 * 2 * 10% * 1MB = 30TB /일

 
5년간 미디어를 보관하기 위해 필요한 미디어 저장소 요구량

  • 30TB * 365 * 5 = 약 55PB

 

요약 및 느낀 점 

 

  • 가정을 적어 두어라
  • 단위(unit)를 붙여라
  • 개략적 규모 추정은 QPS, 최대 QPS, 저장소 요구량, 캐시 요구량, 서버 수 등을 추정하는 것임 
  • QPS 혹은 저장소 용량 측정을 대략이라도 어떤 식으로 하는지 알게 되었음. 

 
 

다음 3장 시스템 면접 공략법
https://mingg123.tistory.com/252

[가상 면접 사례로 배우는 대규모 시스템 설계 기초] 3장 시스템 설계 면접 공략법

3장 시스템 설계 면접 공략법 시스템 설계 면접의 평가 요소 설계 능력의 기술적 측면 협력에 적합한 사람인지 압박이 심한 상황도 잘 헤쳐 나갈 자질이 있는지 모호한 문제를 건설적으로 해결

mingg123.tistory.com

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Comments