상세 컨텐츠

본문 제목

[System Design Interview] 2장 개략적인 규모 추정

대규모 설계 기초

by Wanderer Kim 2023. 6. 11. 20:50

본문

728x90

개력적인 규모 추정 : 보편적으로 통용되는 성능 수치상에서 사고 실험을 행하여 추정치를 계산하는 행위로서, 어떤 설계가 요구사항에 부합할 것인지 보기 위한 것이다.

2의 제곱수

제대로 된 계싼 결과를 얻으려면 데이터 볼륨의 단위를 2의 제곱수로 표현하려면 아떻게 되는지를 우선 알아야한다.

모든 프로그래머가 알아야 하는 응답지연 값

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

가용성에 관계된 수치들

  • 고가용성 : 시스템이 오랜 시간 동안 지속적으로 중단 없이 운영될 수 있는 능력.
  • SLA(Service Level Agreement) : 서비스 사업자가 보편적으로 사용하는 용어로, 서비스 사업자와 고객 사이에 맺어진 합의.

예제 : 트위터 QPS와 저장소 요구량 추정

가정

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

추정

  • QPS 추정치
    • 일간 능동 사용자 = 3억 * 50% = 1.5억
    • QPS = 1.5억 * 2트윗/24시간/3600초 = 약 3500
    • 최대 QPS = 2 * QPS = 약 7000
  • 미디어 저장을 위한 저장소 요구량
    • 평균 트윗 크기
      • tweet_id = 64bytes
      • text = 140 bytes
      • media = 1MB
    • 미디어 저장소 요구량 : 1.5억 * 2 * 10% * 1MB = 30TB / day
    • 5년간 미디어를 보관하기 위한 저장소 요구량 : 30 TB * 365 * 5 = dir 55PB
반응형

관련글 더보기

댓글 영역