더북(TheBook)

경험에 따르면 단일 게임 서버 개발은 분산 게임 서버 개발보다 훨씬 쉽습니다. 어느 정도로 쉽냐 하면, 처음에는 단일 게임 서버로 개발한 후 분산 처리를 해야 되는 지점만 엄선합니다. 그리고 그 엄선한 지점에서만 분산 처리를 하도록 추가 개발하는 것이 더 경제적입니다. 처음부터 지레짐작으로 분산 서버를 설계하고 개발하다가 불필요한 분산 처리 지점을 뒤늦게 발견하고, 게임 서비스 출시 후에도 몇 년에 걸쳐 업데이트하면서 그 불필요한 분산 처리 지점 때문에 많은 시간을 들이는 것보다는 낫습니다.

다행히 게임의 이상적인 분산 서버 구조는 장르를 막론하고 어느 정도 비슷합니다. 따라서 분산 서버 구조를 어떻게 해야 할지 잘 모를 때는 몇 가지 대표적인 분산 서버 구조를 참고합니다. 이것은 10장에서 설명합니다.

일단 단일 서버로 만든 후 성능 과부하 지점을 알아냈다고 칩시다. 하지만 더 자세한 성능 분석이 필요합니다. 예를 들어 게임 서버 안에서 CPU 사용량이 매우 높은 경우, CPU 안에서도 어느 부분이 사용량이 높은지 따로 체크할 필요가 있습니다. 이때 코드 프로파일(code prof ile)이나 성능 분석 도구를 사용하면 됩니다.

성능 분석 도구의 종류는 다양합니다. 윈도 서버에서 개발하는 경우 비주얼 스튜디오 코드 프로파일러(Visual Studio Code Prof iler)나 윈도 성능 도구(Windows Performance Toolkit)를 사용하면 됩니다. 리눅스에는 perf가 있습니다.

p374

▲ 그림 9-9 비주얼 스튜디오의 코드 프로파일러

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