반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 시스템설계면접
- 가상면접으로대규모시스템
- 시스템설계
- git commit merge
- 시스템설계방법
- 리팩토링2판4장
- 시스템설계면접팁
- file not found Error
- s3이미지다운로드됨
- formik react-query submitting not working
- 리팩터링2판테스트
- 전략패턴
- react
- 디자인패턴
- cypress React
- FirebaseAnalytics
- gitsquash
- Git commit 합치기
- awss3
- 시스템설계면접예시
- 헤드퍼스트전략패턴
- 가상면접2장
- react-ga
- 테스트코드책
- formik submitting not working
- 리액트구글애널리틱스
- 가상면접3장
- cypressBDD
- git squash
- git commit 협업
Archives
- Today
- Total
mingg IT
[가상 면접 사례로 배우는 대규모 시스템 설계 기초] 2장 개략적인 규모 추정 본문
개략적인 규모 추정
시스템 용량이나 성능 요구사항을 개략적으로 추적하는 행위
2의 제곱수
데이터 볼륨의 단위를 2의 제곱수로 표현
응답 지연 값
연산별 처리 속도
ns(나노초), us(마이크로초), ms(밀리초)이다.
아래는 쉽게 시각화 한 수치이다.
- 메모리는 빠르지만 디스크는 아직도 느리다
- 디스크 탐색(seek)은 되도록 피해라
- 단순한 압축 알고리즘은 빠르다(데이터를 인터넷으로 전송하기 전에 가능하면 압축해라)
- 데이터 센서는 보통 여러 지역으로 분산되어 있고, 센서들 간에 데이터를 주고받는 데는 시간이 걸림
고가용성
시스템이 오랜 시간 동안 지속적으로 중단 없이 운영될 수 있는 능력을 의미함.
100%에 가까울수록 시스템이 단 한 번도 중단된 적 없음을 나타냄.
아마존, 구글, 마이크로소프트등은 99% 이상을 제공함.
예제: 트위터 QPS와 저장소 요구량 측정(연습용)
(가정)
- 월간 능동 사용자는 3억(300 milion)명 이다
- 50%의 사용자가 트위터를 매일 사용한다
- 평균적으로 각 사용자는 매일 2건의 트윗을 올린다
- 미디어를 포함하는 트윗은 10% 정도다
- 데이터는 5년간 보관된다
- 평균 트윗 크기
- tweet_id에 64바이트
- 텍스트에 140바이트
- 미디어에 1MB
QPS(Query per second) 추정치
- 일간 능동 사용자 = 3억 * 50% = 1.5억(150 million)
- QPS = 1.5억 * 2 / 24시간 / 3600초 = 약 3500
- 최대 QPS (Peek QPS) = 2 * QPS = 약 7000
미디어 저장소 요구량
- 1.5억 * 2 * 10% * 1MB = 30TB /일
5년간 미디어를 보관하기 위해 필요한 미디어 저장소 요구량
- 30TB * 365 * 5 = 약 55PB
요약 및 느낀 점
- 가정을 적어 두어라
- 단위(unit)를 붙여라
- 개략적 규모 추정은 QPS, 최대 QPS, 저장소 요구량, 캐시 요구량, 서버 수 등을 추정하는 것임
- QPS 혹은 저장소 용량 측정을 대략이라도 어떤 식으로 하는지 알게 되었음.
다음 3장 시스템 면접 공략법
https://mingg123.tistory.com/252
'BackEnd' 카테고리의 다른 글
[DBeaver] 내가 겪은 DB dump, restore시 발생한 에러 및 해결법(MySql) (1) | 2023.07.18 |
---|---|
[가상 면접 사례로 배우는 대규모 시스템 설계 기초] 3장 시스템 설계 면접 공략법 (2) | 2023.07.09 |
[가상 면접 사례로 배우는 대규모 시스템 설계 기초] 1장 사용자 수에 따른 규모 확장성 (1) | 2023.07.03 |
가상 면접 사례로 배우는 대규모 시스템 설계 기초 리뷰 (0) | 2023.07.02 |
[Spring Security] Oauth 네이버 로그인 테스트 환경 설정방법 (0) | 2023.04.19 |
Comments