일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- nlp
- docker
- COFIBA
- 플랫폼
- 머신러닝 파이프라인
- transformer
- BERT이해
- 중국플랫폼
- MAB
- RecSys
- MLOps
- 자연어처리
- llm
- AWS
- 머신러닝
- BANDiT
- aws자격증
- 미국석사
- 네트워크
- 메타버스
- 추천시스템
- 언어모델
- chatGPT
- TFX
- 클라우드자격증
- 클라우드
- MSCS
- Collaborative Filtering Bandit
- HTTP
- BERT
- Today
- Total
Julie의 Tech 블로그
인프라 구조 - 안정성과 성능 본문
인프라를 구성하고 운영하다보면 성능 이슈가 생길 때도 있다.
시스템 성능에 대해 두 지표가 대표적인데, 응답과 처리량이다.
응답의 경우 처리당 소요시간이며, 처리량은 단위 시간당 처리되는 양을 의미한다.
실제로 시스템을 운영할 때는 응답자 별로 평균값을 계산하여 평균 응답시간을 집계하게 된다.
응답시간은 보통 웹 브라우저로 화면 응답 시간, 결과 표시 시간, 웹 서버 처리 시간, AP서버 처리 시간 등을 합한다.
처리해야하는 양이 많을 경우 병목현상이 생기기도 한다.
3계층형 아키텍쳐에서 아래와 같은 병목 현상들을 볼 수 있다.
1. CPU 병목 현상
2. 메모리 병목 현상
3. 디스크 I/O 병목 현상
4. 네트워크 I/O 병목 현상
5. 애플리케이션 병목 현상
병목현상을 처리하는 방안으론 두 가지가 있다.
1) Scale-out : CPU코어 수를 늘리거나 서버 수를 늘리는 등의 튜닝
2) Scale-up : 처리 능력을 향상시키는 것
혹은 병렬 처리를 통해 응답시간을 향상시킬 수 있다.
예를 들어 멀티 프로세스, 멀티 스레드가 CPU 코어를 복수로 이용함으로써 응답 시간을 향상시키는 것이다.
CPU사용률이 100%일때 흔히 효율성이 떨어진다고 생각할 수 있지만,
실제로는 대기 큐에 있는 프로세스가 없을 때는 효율적으로 CPU를 사용하는 것이라 판단할 수 있다.
반면 대기 큐에 있는 프로세스가 증가하고, CPU사용률이 0인 경우에도 마찬가지로 I/O 병목 현상이라고도 한다.
대부분 동기 I/O 방식이기 때문에 응답이 올때까지 다른 처리를 하지 않아 발생한다.
* I/O 방식에는 랜덤과 순차 액세스가 있다. 순차 액세스의 경우 순차적으로 접근하여 데이터를 읽는 것이고, 랜덤 엑세스는 랜덤하게 건너뛰면서 읽어들이는 것이다.
단일 디스크의 경우 순차가 빠르고, 랜덤이 느리다. 큰 파일을 읽을 경우 병렬적으로 랜덤 액세스를 처리하면 빠르게 가능하다.
인프라를 안정적으로 운영하기 위해선 '이중화'라는 개념에 대한 이해도 필요하다.
이중화란 기능 하나를 병렬화하여 한쪽에서 장애가 발생하더라도 대체 가능한 형태를 일컫는다.
이중화를 할 때는 아래와 같은 조건들이 필요하다.
- 균등한 부하를 받을 수 있도록 분산
- 생존 여부를 지속적으로 확인하는 감시
- 장애가 발생했을 때 안정적으로 복구 가능한지
서버 내에서는 전원에 대해 이중화를 할 수 있다.
Glossary
- 동시성(Concurrency), 병렬성(Parallel) : 병행의 경우 다수의 처리를 실행하고 있는 상태, 병렬성의 경우 여러 사람이 동시에 일을 진행
- 마이크로 서비스 아키텍쳐 : 어플리케이션이 서비스 모음으로 개발되는 어플리케이션 아키텍쳐의 유형
참고서적
그림으로 공부하는 IT인프라 구조
'Tech' 카테고리의 다른 글
웹, HTTP - (1) HTTP 개괄, URL에 대하여 (0) | 2021.05.14 |
---|---|
컨테이너 개념 이해 - (1) 가상화 (0) | 2021.05.14 |
인프라 아키텍쳐 구조와 기초 용어에 대해 (0) | 2021.05.14 |
네트워크 - (3) 네트워크의 전체 흐름과 무선랜 (0) | 2021.05.14 |
리눅스 - (3) 파일 시스템과 저장장치 (0) | 2021.05.12 |