시스템 설계 면접에서 자주 나오는 문제
- QPS, 최대 QPS, 저장소 요구량, 캐시 요구량, 서버 수 등을 추정하는 것이다. 이를 잘 풀기 위한 팁은 아래와 같습니다.
- 근사치를 사용 : 999.99 / 9.4 와 같은 복잡한 값은 1000 / 10과같이 줄입니다.
- 가정들을 적어 두어야 합니다.
- KB, MB와 같이 단위를 붙여야 합니다.
- 시스템 설계 면접 시 시스템 용량이나 성능 요구사항을 개략적으로 추정해 보라는 요구가 있습니다. 개략적 규모 추정을 효과적으로 해 내려면 규모 확장성을 표현하는데 필요한 기본기에 능숙해야 합니다. 특히 2의 제곱수, 응답 지연 값, 가용성에 관계된 수치들을 기본적으로 이해하고 있어야 합니다.
2의 제곱수
- 데이터의 양 계산은, 데이터 볼륨의 단위를 2의 제곱수로 표현하면 어떻게 되는지를 우선 알아야 합니다.
- 1KB : 2^10
- 1MB : 2^20
- 1Gb : 2^30
- 1TB : 2^40
- 1PB : 2^50
응답 지연 값
- 컴퓨터로 특정 일을 할 때 응답 지연 값을 정리해놓은 표를 보면 아래와 같은 요약이 가능합니다.
- 메모리는 빠르지만 디스크는 아직도 느리다.
- 디스크 탐색(Seek)은 가능한 한 피해라
- 단순한 압축 알고리즘이 빠르다.
- 데이터를 인터넷으로 전송하기 전에 가능하면 압축한다.
- 데이터 센터가 여러 지역에 분산돼있으면, 센터 간 데이터를 주고받는 데 시간이 소요됨.
가용성에 관계된 수치들
- 가용성은 퍼센트(%)를 사용해 표현합니다. 100%는 시스템이 단 한 번도 중단된 적이 없음을 의미하며 자세한 내용은 아래와 같습니다.
가용율 | 하루당 장애 시간 | 주당 장애 시간 | 개월당 장애 시간 | 연간 장애 시간 |
99% | 14.40분 | 1.68시간 | 7.31시간 | 3.65일 |
99.9 | 1.44분 | 10.08분 | 43.83분 | 8.77시간 |
99.99 | 8.64초 | 1.01분 | 4.38분 | 52.60분 |
99.999 | 864.00ms | 6.05초 | 26.30초 | 5.26분 |
99.9999 | 86.40ms | 604.80ms | 2.63초 | 31.56초 |
추정치 계산 예시
- 가정
- 월간 능동 사용자 3억 명 / 50%의 사용자가 매일 사용
- 평균적으로 각 사용자는 매일 2건의 게시물을 올림
- 미디어를 포함하는 게시물은 10%
- 데이터는 5년간 보관
- 추정
- QPS(Query Per Second) 추정치(초당 요청 수) : 일간 사용자는 3억 * 50%로 1.5억이며, 2건의 게시물을 올리면 매일 3억 건의 게시물이 올라옴. 이를 초당 환산하면 약 3500건이 되고, 읽고 쓰는 연산 세트를 1개로 보면 곱하기 2 해서 7000건.
- 저장소 : 평균 게시물 크기(아이디에 64바이트, 텍스트에 140바이트, 미디어 1MB), 미디어 저장 소 요구량만 1.5210%*1MB = 30TB/일. 그러므로 5년간 미디어 저장은 약 55PB임.
'책 리뷰 > 가상 면접 사례로 배우는 대규모 시스템 설계 기초' 카테고리의 다른 글
가상 면접 사례로 배우는 대규모 시스템 설계 기초 6장 키-값 저장소 설계 (0) | 2025.05.21 |
---|---|
가상 면접 사례로 배우는 대규모 시스템 설계 기초 5장 안정 해시 설계 (0) | 2025.05.21 |
가상 면접 사례로 배우는 대규모 시스템 설계 기초 4장 처리율 제한 장치의 설계 (0) | 2025.05.19 |
가상 면접 사례로 배우는 대규모 시스템 설계 기초 3장 시스템 설계 면접 공략법 (1) | 2025.05.19 |
가상 면접 사례로 배우는 대규모 시스템 설계 기초 1장 사용자 수에 따른 규모 확장성 (0) | 2025.05.18 |