가상 면접 사례로 배우는 대규모 시스템 설계 기초 (알렉스 쉬 저)를 읽고 정리합니다.
💡 만약에 내가 면접에 가. 근데 면접자가 시스템 용량이나 성능 요구사항을 추정해보래. 그럼 뭐라고 대답해야 하게요?
👉 보편적인 성능 수치 측정 도구를 이용해 추정치를 계산해보자!
1️⃣ 2의 제곱 수
- 데이터 볼륨 단위를 2의 제곱수로 표현하자.
- 최소 단위 : 1바이트 (= ASCII 문자 하나가 차지하는 메모리 크기)
2의 x 제곱 | 이름 | 축약형 |
---|
10 | 1 킬로바이트 | 1KB |
20 | 1 메가바이트 | 1MB |
30 | 1 기가바이트 | 1GB |
40 | 1 테라바이트 | 1TB |
50 | 1 페타바이트 | 1PB |
2️⃣ 응답 지연 (latency) 값
- 대충 이런걸 알 수 있다
- 메모리는 빠르지만 디스크는 느리니까 가능한 디스크 탐색은 피해라
- 단순 압축 알고리즘은 빠르니까, 데이터를 전송하기 전에 가능한 압축해라
- 데이터센터는 분산되어 있고, 센터간 데이터 주고받는데는 시간이 걸린다
3️⃣ 가용성 관련 수치
- 시스템이 중단 없이 지속적으로 운영될 수 있는지 측정하는 방법
- 100%면 한번도 중단 된 적 없다는 의미
4️⃣ 팁
💡 결과보다 과정이 중요! 문제 해결 능력에 초점
- 근사치 활용해서 계산하기
- 가정를 확인하기 위해 적어두기
- 단위 붙여서 정확하게
- 주로
QPS, 최대 QPS, 저장소 요구량, 캐시 요구량, 서버 수 추정
을 많이 물어본다.