본문 바로가기
시스템 설계/가상 면접 사례로 배우는 대규모 시스템 설계 기초

2장. 개략적인 규모 추정

by setung 2025. 1. 12.

개략적인 규모 추정(back of the envelope estimation)은 보편적으로 통용되는 성능 수치상에서 사고 실험(thought experiments)을 행하여 추정치를 계산하는 행위로서, 어떤 설계가 요구사항에 부합할 것인지 보기 위한 것

 

2의 제곱수

2의 x 제곱 근사치 이름 축약형
10 1천(thousand) 1킬로바이트(Kilobyte) 1KB
20 1백만(million) 1메가바이트(Megabyte) 1MB
30 10억(billion) 1기가바이트(Gigabyte) 1GB
40 1조(trilion) 1테라바이트(Terabyte) 1TB
50 1000조(quardrillion) 1페타바이트(Petabyte) 1PB

 

 

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

https://colin-scott.github.io/personal_website/research/interactive_latency.html

 

메모리는 빠르지만 디스크는 아직도 느리다.

디스크 탐색(seek)은 가능한 한 피하라.

단순한 압축 알고리즘은 빠르다.

데이터를 인터넷으로 전송하기 전에 가능하면 압축하라.

데이터 센터는 보통 여러 지역(region)에 분산되어 있고, 센터들 간에 데이터를 주고받는 데는 시간이 걸린다.

 

가용성에 관련된 수치들

고가용성(high availability)

- 시스템이 오랜 시간 동안 지속적으로 중단 없이 운영될 수 있는 능력

- 퍼센트로 표현하며, 100%는 시스템이 단 한번도 중단된 적이 없음을 의미

 

SLA(Service Level Agreement)

 - 서비스 사업자가 보편적으로 사용하는 용어로, 서비스 사업자와 고객 사이에 맺어진 합의를 의미

 - 서바스 사업자가 제공하는 서비스의 가용시간(uptime)이 공식적으로 기술 되어 있다.

 - 가용시간은 관습적으로 숫자 9를 사용하며, 9가 많을수록 좋다.

 

 - 근사치를 활용한 계산 99,987/9.1 => 100,000/10

- 가정(assumption)들은 나중에 살펴보도록 적어두기

- 단위 붙이기

- 대부분 QPS, 최대 QPS, 저장소 요구량, 캐시 요구량, 서버 수 등 추정 요구.

댓글