why and yes/별게다궁금한대범

[서버 문제 발생] 서버가 터졌다고 하는데 뭐가 어떻게 터지는 걸까?

대범하게 2022. 7. 26. 23:31
반응형

수강신청 사이트나 티켓팅 사이트 등 이용자가 많이 몰리는 경우 서버가 터졌다고 얘기한다.

여기서 서버는 어떻게 터지는건지 궁금해서 찾아봤다.

 

이 의문을 해결하기 위해서는 컴퓨터의 내부 부품인 하드웨어에 관해서 이해해야한다.

컴퓨터는 CPU와 보조기억장치(하드디스크, SSD 등), 메모리(램) 과 같은 하드웨어를 가지고 있다.

 

기능 간략히 정리해보면

- CPU: 인간의 뇌

=> 프로그램을 사용하기 위해서는 CPU가 일해야 함. 즉, 데이터 처리라는 일을 한다.

 

- 보조기억장치: 저장

=> 보조기억장치에는 파일과 데이터가 저장되어 있음.

 

사용자가 특정 프로그램을 실행시키면 CPU는 데이터를 처리하기 위해 보조기억장치에서 필요한 데이터를 요청한다.

보조기억장치는 필요한 데이터를 찾아서 CPU에 전달하는데, 이 속도가 CPU의 데이터 처리 속도와 비교했을 대 상대적으로 느린 편이다. (CPU 데이터 처리 속도 > 보조기억장치 데이터 전달 속도

CPU는 보조기억장치가 데이터를 찾을 때까지 기다려줘야한다.

 

문제) So, CPU의 기능이 아무리 좋아도 보조기억장치의 속도에 맞춰야하기 때문에 속도가 하향평준화가 된다.

해결방안) 메모리(RAM) 사용

 

- 메모리: CPU의 작업공간

=> CPU가 보조기억장치에 데이터를 요청하면 보조기억장치는 필요한 데이터 뭉치를 메모리에 전달(데이터: 보조기억장치 -> 메모리)/CPU는 보조기억장치와 함께 작업할 필요 없이 메모리 위에서 작업하면되므로 데이터 처리 속도를 빠르게 할 수 있다.

 

여기까지 프로그램이 실행했을 때 어떤 과정으로 작업이 처리되는지 알 수 있다.

 

여러 개의 프로그램을 동시에 실행시키거나 컴퓨터의 한계를 넘어서는 요청을 하게 되면 CPU와 메모리가 감당할 수 없는 순간이 발생한다. 이 때 컴퓨터는 멈춰버리거나 '응답 없음'이라는 메시지를 띄고 다운된다.


So, 궁극적으로 다시 질문으로 돌아가서 서버는 왜 터지는걸가?

서버는 앞서 말한 컴퓨터와 같다.

차이점이 있다면 데이터 처리를 분산하기 위해 컴퓨터 여러 대가 모여있다는 것이다.

이용자(클라이언트 컴퓨터)가 필요한 데이터를 요청하면 서버 컴퓨터는 작업을 수행한다.

하지만 처리 능력이 무한대가 아니다.

 

순간적으로 사람들이 많이 몰리는 수강신청 사이트나 티켓팅 사이트의 경우 많은 데이터를 처리하려고 하면 서버 컴퓨터가 감당할 수 있는 처리 능력 밖을 벗어나게 될 것이다. 이 때 컴퓨터가 멈춰버리는 것처럼 서버 컴퓨터도 다운된다. 이를 사람들은 서버가 터졌다고 표현하는 것이다.


그래서 문제 해결을 위해서 서버 컴퓨터를 확충하면 될 텐데????????

결론적으로 돈 문제이다..

이용자 입장(수강신청 학생, 콘서트 가야하는 광팬..)에서는 매우 매우 불편한 상황이지만 공급자 입장에서는 순간적인 수요일 뿐이고, 이 순간만 지나면 수요가 줄어들 것이 확실하기 때문에 장기적인 측면에서 돈이 엄청 나가는 상황인거다.

 

따라서 감당할 수 있으면서 합리적인 수준에서 서버 컴퓨터를 운용하는 합리적인 선택을 한 것이다.

세계 최대 전자 상거래 기업인 아마존(Amazon)에서 제공하는 아마존 웹 서비스(AWS)가 있다. (아마존이 운영했구나...!)

AWS는 클라우드 서비스로 여러가지 소프트웨어나 자료를 서비스 사업자의 서버에 두고 어떤 장치로도 활용할 수 있게 한 서비스이다.

즉, 서버 공간을 빌려주고 수익을 창출하는 구조를 지녔다. 클라우드 서비스의 장점이자 당연하겠지만 서버가 크면 클수록 비싸다..! 하지만, 전세계 많은 이용자가 존재한다. (물론 나도 현재 무료 서버를 만들어 놓았다.)

 

 

 

 

https://www.youtube.com/watch?v=CFPiviTXnng