이에 따라 매치메이킹과 전투를 담당하는 서버가 분산되어 있지 않은 경우를 살펴봅시다.
▲ 그림 10-22 서버 한 대가 매치메이킹과 게임방 처리를 담당하는 경우
이렇게 서버 하나가 매치메이킹과 게임방 처리를 모두 담당해야 합니다. 동시접속자가 늘어나면 다음 현상이 발생할 수밖에 없습니다.
• 게임방 안의 월드 시뮬레이션을 위한 서버 CPU 과부하
• 매치메이킹에 동시접속자가 몰릴 경우 서버 CPU, 램 사용량 과부하
성능을 분석해 보면 게임방 안 전투 플레이를 처리하는 곳이 가장 큰 비중을 차지합니다. 매치메이킹을 위한 연산량보다 게임방 안 월드 시뮬레이션과 대량의 네트워크 메시지를 처리하는 연산량이 훨씬 많기 때문입니다. 따라서 게임방 처리를 분산하는 것이 우선입니다. 게임방 처리를 따로 담당할 서버가 필요한데, 서버 한 대에서 이를 모두 하기는 버겁습니다. 왜일까요?