[가상 면접 사례로 배우는 대규모 시스템 설계기초] 2장 개략적인 규모 추정

매번 개발이 새롭다·2022년 11월 25일
0

글의 시작

  • 이전 1장에 이어 2장을 읽어보면서 해당 장을 읽으므로써 로컬에서 파일을 저장해서 읽는 것보다 외부 캐시를 통해서 압축된 데이터를 가져오는 것이 더 빠르다는 것이 체감이 됬다. 시스템 설계 면접중 시스템 용량이나 성능 요구사항을 개략적으로 추정해 보는 면접을 본적이 있는데 해당 케이스에 대응을 위해서는 어느 정도 정리가 필요하다고 생각이 든다. 특히 면접 전에 관련된 케이스를 만들고 계산해 보는 연습이 필요할 것 같다.

관련내용

용량 관련 2의 제곱수

2의 x 제곱근사치이름축약형
101천(thousand)1킬로바이트(Kilobyte)1KB
201백만(million)1메가바이트(Megabyte)1MB
3010억(billion)1기가바이트(Gigabyte)1GB
401조(trillion)1테라바이트(Terabyte)1TB
501000조(quadrillion)1페타바이트(Petabyte)1PB

응답지연 값

연산명시간
L1 캐시 참조0.5ns
분기 예측 오류(branch mispredict)5ns
L2 캐시 참조7ns
뮤텍스(mutex) 락/언락100ns
주 메모리 참조100ns
Zippy로 1KB 압축10,000ns = 10us
1 Gbps 네트워크로 2KB 전송20,000ns = 20us
메모리에서 1KB 순차적으로 read250,000ns = 250us
같은 데이터 센터 내에서의 메시지 왕복 지연시간500,000ns = 500us
디스크 탐색(seek)10,000,000ns = 10ms
네트워크에서 1 MB 순차적으로 read10,000,000ns = 10ms
디스크에서 1 MB 순차적으로 read30,000,000ns = 30ms
한 패킷의 CA(캘리포니아)로부터 네델란드까지의 왕복 지연시간150,000,000ns = 150ms
  • ns = nanosecond(10^9 나노초 = 1초), us = microsecond(10^6 마이크로초 = 1초), ms = millisecond(10^3밀리초 = 1초)
profile
기억력이 좋지 않은 개발자, 직장인 그리고 꿈이 있다.

0개의 댓글