시스템 설계 면접에서 자주 나오는 문제

  • 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임.

 

+ Recent posts