서버 성능 향상
서버 성능 향상 전략
1. Scale Up(스케일 업 = 수직 스케일링)
: 물리적인 성능 향상으로 기존 서버 사양을 업그레이드 해 성능을 향상시키는 방식이다.
// CPU, RAM 등의 자원을 단일 서버에 추가하는 등 하드웨어 장비의 성능 높임
- 장점
- 상대적으로 쉬운 난이도(사양만 향상시키면 됨)
- 상대적으로 적은 관리 이슈
- 요청에 대한 빠른 처리 가능
- 단점
- 성능 향상(확장) 한계 존재
- 서버 1대 분담 양 증가로 장애 영향도가 큼
- 서버 교체 또는 업그레이드 시 서비스 이용 어려움(다운타임)
- 성능 증가에 따른 비용 증가폭이 큼
- 사용
1) 데이터 변화가 많은 경우
- 스케일 아웃은 데이터 정합성 유지 어려움
2) 의존성이 큰 작업
- 단일 서버에서 의존성 관리하는 것이 효율적임
2. Scale Out(스케일 아웃 = 수평 스케일링)
: 서버를 여러 대 추가하여 시스템을 확장하는 방식이다.
- 장점
- 지속적 성능 향상(확장) 가능
- 읽기/ 쓰기가 여러 대의 서버에 분산처리되어 장애 시 전면 장애의 가능성이 적음
- 스케일 업 방식과 다르게 향후 확장 가능성을 미리 예측, 대비할 필요가 없음
- 동시에 많은 사용자 요청 처리 가능
- 단점
- 상대적으로 어려운 난이도(아키텍처에 대한 높은 이해도 요구)
- 서버 수 증가에 따라 관리 어려움 상승
- 여러 노드에 부하 균등하게 분산시키기 위해 로드 밸런싱 필요
- 데이터 정합성 이슈(데이터과 일관되게 유지되는 것) 발생 가능성 상승
- 사용
1) 데이터 변화가 적은 웹 서버
- 상대적으로 낮은 관리 비용, 확장 용이함
2) 의존성이 없는 작업