“서버 운영 과정에서 발생하는 CPU 및 메모리 문제를 찾기 위해 많은 시간을 허비할 수는 없습니다. 개발 환경이나 문제 상황에 적합한 진단도구를 사용하면 이 과정을 크게 단축시킬 수 있습니다.”

배현직 넷텐션 대표는 22일 판교 경기콘텐츠코리아랩에서 열린 ‘백엔드 세미나’에서 이 같이 말했다. 그는 ‘게임 서버 성능 분석 테크닉’을 주제로 비주얼 스튜디오 기반의 진단도구를 활용한 메모리 최적화 요령을 소개했다.

배 대표는 서버 운영 과정에서 CPU 및 메모리 사용량이 급격히 증가하는 문제가 발생했을 때 원인을 찾는 게 결코 쉬운 일은 아니라고 말했다. 그러나 마이크로소프트가 무료 제공하는 ‘비주얼 스튜디오’ 기반의 진단도구를 활용하면 비교적 간단하게 해결이 가능하다고 말했다.

‘비주얼 스튜디오 프로파일러’를 통해 이용시간을 많이 차지하는 함수를 쉽게 발견할 수 있다는 것이다. 또 이를 통해 함수 횟수를 줄이거나 로직을 다듬어 성능을 향상시키는 게 가능하다고 그는 말했다.

‘비주얼 스튜디오’는 프로그래밍을 위한 것으로 개발자 컴퓨터에만 설치되고 서버 관리 컴퓨터에서는 이용하지 못할 가능성이 있다. 이 같은 환경에서 성능을 점검하고 싶을 때는 ‘비주얼 스튜디오 스탠드 얼론’을 통해 대체할 수 있다.

그는 이 같은 진단도구가 소스 단계에서 문제를 확인할 수 있다는 것을 장점으로 꼽았다. 많은 시간을 들일 필요 없이 문제 원인을 파악해 최적화가 가능하다는 것이다.

그는 또 메모리 누수 문제를 해결하기 위해 ‘비주얼 스튜디오 메모리 프로파일러’를 사용하기를 권했다. 앞서 ‘비주얼 릭 디텍터’를 이용하기도 했으나 이는 누수를 측정하는 과정에서 코드를 수정해야 하며,  정확도 또한 그리 좋지 못하다는 것이다.

반면 ‘메모리 프로파일러’는 이 같은 약점을 모두 해결했다. 또 메모리 사용이 계속 증가하는 문제도 간격을 두고 증가 추이를 비교하며 원인을 손쉽게 발견할 수 있다.

그는 이와 함께 여러 프로그램을 띄워 사용하는 환경에 적합한 진단도구 ‘윈도우 퍼포먼스 애널라이저’를 소개하기도 했다. 이는 시스템 전체 성능을 분석하거나 프로그램 자체는 괜찮은데 커널 단위 문제가 의심될 때 효과적이라는 것이다.

배대표는 끝으로  비주얼 스튜디오가 없는 컴퓨터에서 메모리 증가 원인을 찾을 수 있는 ‘UMDH’의 사용법에 대해 설명했다. 그는  소스 개발자들이 사용할 수 있도록 이를 인터넷에 올렸다고 말했다.

한편 이 날 세미나는 넷텐션, 락인컴퍼니, 와탭 등이 모여 발족한 백엔드클럽이 개최했다. 이 단체는 게임 개발 기술 및 서비스 업체들의 노하우를 공유하는 것을 목표로 하고 있다.  

[더게임스 이주환 기자 nennenew@thegames.co.kr]

저작권자 © 더게임스데일리 무단전재 및 재배포 금지