2장 : 개략적인 규모 추정

Y·2022년 11월 2일
0

*<가상 면접 사례로 배우는 대규모 시스템 설계 기초> 을 참고하여 작성한 게시물입니다.

개략적인 규모 추정

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

응답 지연 값

  • L1 캐시 참조 : 0.5ns
  • 분기 예측 오류 : 5ns
  • L2 캐시 참조 : 7ns
  • 뮤텍스 락/언락 : 100ns
  • 주 메모리 참조 : 100ns
  • Zippy로 1KB 압축 : 10,000ns
  • 1 Gbps 네트워크로 2KB 전송 : 20,000ns
  • 메모리에서 1MB 순차적으로 read : 250,000ns
  • 같은 데이터 센터 내에서의 메시지 왕복 지연시간 : 500,000ns
  • 디스크 탐색 : 10,000,000ns
  • 네트워크에서 1MB 순차적으로 read : 10,000,000ns
  • 디스크에서 1MB 순차적으로 read : 30,000,000ns
  • 한 패킷의 CA(캘리포니아)로부터 네덜란드까지의 왕복 지연 시간 : 150,000,000ns

=> 이에 따른 결론이다.

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

가용성

고가용성은 시스템이 오랜 시간동안 지속적으로 중단 없이 운영될 수 있는 능력을 지칭하는 것으로, 고가용성을 표현하는 값은 퍼센트로 표현하는데, 100%는 시스템이 단 한 번도 중단된 적이 없는것으로, 대부분의 서비스는 99%-100% 사이의 값을 갖는다. 99%는 하루당 장애시간이 14.40분, 주당 장애시간이 1.68시간이다.

개략적 규모 추정을 위해서는 QPS(Query Per Second), 최대 QPS, 저장소 요구량, 캐시 요구량, 서버 수 등을 추정한다.

profile
개발자, 학생

0개의 댓글