티스토리 뷰

안녕하세요. 오늘은 서버를 운영 중에 혹은 구축 중에 서버의 성능을 향샹시키는 용어들 중 스케일 업(scale-up)과 스케일 아웃(scale-out)에 대해서 포스팅을 해보려고 합니다.



1. 스케일 업(Scale-up)


Scale-up이란, 서버의 자체 성능을 증가시키는 것이라고 생각하시면 됩니다. 즉, 기존의 서버에서 더욱 고성능의 서버로 변경하는 것을 의미하며, 스케일 업을 "수직 스케일"이라고 부르기도 합니다. 아래의 간단하게 도식화된 그림을 토대로 알아보도록 하겠습니다.


스케일 업의 문제점으로는 스토리지 컨트롤러의 확장성 한계의 문제, 성능 그리고 용량 확장 제한에 다다른 경우에 새 시스템을 추가해야되는데 이때 발생하는 마이그레이션 비용 등이 있습니다.



2. 스케일 아웃(Scale-out)


Scale-out이란, 기존의 서버와 같은 사양 또는 비슷한 사양의 서버 대수를 증가시키는 방법으로 처리 능력을 향샹시키는 것입니다. 스케일 아웃 방식을 "수평 스케일"이라고 부르기도 하고, 확장이 스케일 업보다는 다소 유연하다고 합니다. 이것 또한 아래의 도식화된 그림을 토대로 알아보도록 하겠습니다.


스케일 업의 문제점으로는, 병렬 컴퓨팅의 어려움(설계 및 구현), 기본적으로 직렬화(단일 처리)되어야 할 부분이 존재하며, 기술적으로 문제점(대역폭, 동기화 문제), 코어가 늘어남에 따라 마냥 성능이 증가하지는 않고, 코어 증가에 따라 대역폭은 증가해 지연이 발행할 가능성이 있습니다.



3. 결론


결론을 말해드리자면 어떠한 방식이 더욱 좋다라고 하기보단, 주어진 환경에서 어떤 방식을 채택해서 더욱 실용적으로 구축해서 사용하는 것을 권장해드립니다. 예를 들면, 웹사이트의 접속자가 증가해서 트래픽이 많이 발생할 경우에는 scale-out이 scale-up 보다는 효과적이며, 비용도 저렴합니다. 그 반면, 데이터베이스의 빈번한 갱신이 필요한 OLTP(온라인 트랜잭션)에서는 scale-out보다는 scale-up이 효과적이라고 합니다.