2의 x 제곱 | 근사치 | 이름 | 축약형 |
---|---|---|---|
10 | 1천(thousand) | 1킬로바이트(Kilobyte) | 1KB |
20 | 1백만(million) | 1메가바이트(Megabyte) | 1MB |
30 | 10억(billion) | 1기가바이트(Gigabyte) | 1GB |
40 | 1조(trillion) | 1테라바이트(Terabyte) | 1TB |
50 | 1000조(quadrillion) | 1페타바이트(Petabyte) | 1PB |
연산명 | 시간 |
---|---|
L1 캐시 참조 | 0.5ns |
분기 예측 오류(branch mispredict) | 5ns |
L2 캐시 참조 | 7ns |
뮤텍스(mutex) 락/언락 | 100ns |
주 메모리 참조 | 100ns |
Zippy로 1KB 압축 | 10,000ns = 10μs |
1 Gbps 네트워크로 2 KB 전송 | 20,000ns = 20μs |
메모리에서 1 MB 순차적으로 read | 250,000ns = 250μs |
같은 데이터 센터 내에서의 메시지 왕복 지연 시간 | 500,000ns = 500μs |
디스크 탐색(seek) | 10,000,000ns = 10ms |
네트워크에서 1 MB 순차적으로 read | 10,000,000ns = 10ms |
디스크에서 1 MB 순차적으로 read | 30,00.000ns = 30ms |
한 패킷의 CA(캘리포니아)로부터 네덜란드까지의 왕복 지연시간 | 150,000,000ns = 150ms |
고가용성(high availability)
SLA(Service Level Agreement)
9의 개수와 시스템 장애 시간(downtime)
가용률 | 하루당 장애시간 | 주당 장애시간 | 개월당 장애시간 | 연간 장애시간 |
---|---|---|---|---|
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.00밀리초 | 6.05초 | 26.30초 | 5.26분 |
99.9999% | 86.40밀리초 | 604.80밀리초 | 2.63초 | 31.56초 |
💡 궁금한 점 1: 가용률이 높더라도 연간 장애시간이 3.65일 정도로 꽤나 긴 건 이유가 뭘까?
- 기본적으로 대규모 시스템을 고려했을 때에는, 일반적인 규모의 시스템보다 고가용성을 띈다고 하더라도 장애시간 자체는 꽤 길 수 있을 것이라 판단
다음 수치는 연습용(트위터의 실제 성능이나 요구사항과는 아무 관계 X)
가정
추정
미디어 저장을 위한 저장소 요구량
근사치를 활용한 계산(rounding and approximation)
가정(assumption) 적어두기
단위(unit) 적기
많이 출제되는 개략적 규모 추정 문제는 QPS, 최대 QPS, 저장소 요구량, 캐시 요구량, 서버 수 등을 추정하는 것