더북(TheBook)

수직 확장은 서버의 하드웨어를 더 좋은 것으로 교체하여 처리량을 늘리는 것을 의미합니다. 수평 확장은 서버 대수를 늘려서 더 많은 처리를 하는 것입니다. 일반적으로는 수평 확장이 더 현실적인 방법입니다. 수직 확장은 쉽게 할 수 있지만, 서버의 하드웨어 사양은 결국 한계가 있기 때문에 어느 선에서는 더 이상 할 수 없습니다. 하지만 수평 확장은 하드웨어 기기의 대수를 늘리기만 하면 되므로 상한선이 거의 없다고 할 수 있습니다.

수평 확장이 더 많이 사용되는 방법이지만, 소프트웨어 설계가 더 복잡하다는 대가가 따릅니다. 표 9-1에 두 가지 확장 방법의 장단점을 분석해 두었습니다.

▼ 표 9-1 수직 확장과 수평 확장 비교

구분

수직 확장

수평 확장

확장 종류

서버 머신의 부품을 업그레이드 혹은 서버 머신 안의 CPU, 램을 증설한다.

서버 머신의 대수를 증설한다.

서버 소프트웨어 설계 비용

낮다.

높다.

확장 비용

높다(기하급수적으로 높아진다).

낮다(선형적으로 높아진다).

과부하 지점

서버 컴퓨터 자체

네트워크 장치

오류 가능성

낮다(로컬 머신 안에서 동기 프로그래밍 방식으로 작동하므로).

높다(여러 머신에 걸쳐 비동기 프로그래밍 방식으로 작동하므로).

단위 처리 속도

높다(로컬 컴퓨터의 CPU와 램만 사용).

낮다(여러 서버 컴퓨터 간 메시징이 오가면서 처리하므로).

처리 가능 총량

낮다(서버 컴퓨터 한 대 성능만 사용하므로).

높다(여러 서버 컴퓨터로 부하가 분산되므로).

 

또 수평 확장은 수직 확장으로 향상되는 서버보다 단위 처리 속도가 더 느릴 수 있습니다. 경우에 따라 잘 만들어진 수평 확장 서버라고 하더라도 수평 확장을 하기 전 서버보다 처리 속도가 더 느리기도 합니다. 어째서 이러한 일이 발생하는지는 이 장을 끝까지 다 읽으면 알 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.