War Thunder background
지난 주 발생한 서버 이슈 관련 안내

 클라이언트/서버를 이용하는 게임들처럼 저희 게임 또한 다양한 서버는 물론이고 아주 복잡하고 분산된 상태의 기반 시설을 가지고 있습니다. 이곳엔 인증에 사용되는 서버, 사용자 프로필을 저장하는 서버, 전투 서버, 편대 서버 그리고 음성 교신 서버가 존재하고 있는데, 서버들은 단 하나의 장비가 아닌 다수의 장비에 의해 가동되고 있는 상황입니다. 추가로 매칭 서버에는 게이트웨이를 구성하는 물리적 장비들과 서버가 원활히 작동할 수 있도록 하는 프록시, 그리고 대기열에 있는 플레이어를 모아 전투를 꾸리는 서버로 이루어져 있습니다.

이제 저번 주말에 어떤 일이 있었는지에 대해 말씀해 드리겠습니다. 약 375일간 가동되고 있던 한 게이트웨이가 스케줄 상의 재가동을 하는 동안 단 하나의 코어를 사용하게 하는 잘못된 환경 설정이 적용된 버전이 로드되어(이 문제점은 일요일에만 발견되었습니다) IP 주소들에 대해 잘못된 프록시 작업을 행하고 있었습니다. 저희 또한 새로운 장비와 국가가 등장한데다 커뮤니티의 관심이 집중되며 서버에 과부하가 생긴 것으로 판단하여 Amazon에서 판매하는 가장 강력하고 고가의 장비를 들여와 최대한 빠른 시간 내에 서버의 수용 능력을 늘리기 위해 노력하였습니다. 하지만 이 작업은 시간이 오래 소요되는 작업이었습니다. 이 작업을 끝마친 뒤에도 부적절한 환경 설정으로 인해 싱글 쓰레딩 작업이 계속 진행되어 서버에선 모든 플레이어가 같은 IP로 이 서비스에 진입하려 하는 것으로 판단하여 플레이어의 개별 정보를 신속히 판별하지 못해 렉이 발생한 것이었습니다. 다음 날 6:00 AM KST부터 부적절한 프록싱의 원인을 찾아내고 수정하여 전투가 다시 잡히기 시작하였습니다. 그 후로 아침 동안 유저의 수가 감소함에 따라 싱글 코어로 작동하는 프록시 또한 서버의 작동에 큰 영향을 미치지 않았습니다. 

일요일에 유저 수와 전투의 수가 늘어나자 서버에 다시 과부하가 걸렸고 마침내 두 번째 환경 설정 오류를 찾아내어 밤 중에 부적절한 환경 설정이 적용되어 싱글 쓰레드 프록싱을 진행하는 장비를 제거하고 새로운 장비를 투입하여 이미 게임을 즐기고 있는 플레이어에게 불편이 없도록 하는 작업에 돌입하였는데, 이 작업 또한 꽤 많은 시간이 소요되는 작업이었습니다. 물론 더 강력한 장비를 투입하기 전에도 서버의 수용 능력은 충분했지만, 싱글 코어로는 원활한 서비스를 제공할 수 없었습니다. 업그레이드 후 저희는 장비의 전체 성능 중 6%를 활용 중에 있습니다 (예: 피크타임에 사용되는 성능의 20배에 달하는 수치를 예비로 전환한 상태입니다)

결론

 이 결과에 따라 저희는 게임의 매칭 코드와 작동성을 개선하겠다는 결론에 도달하였습니다. 첫 번째, Netflix 등 대형 스트리밍 서비스 회사에서 사용하는 가동 시간 체크용 봇을 사용하는 것 처럼 오랜 시간 가동중인 서버를 재시작하여 서버의 내고장성을 체크하도록 하겠습니다. 

이와 함께 매칭 코드에 관한 개선점을 통해 과부하가 걸린 상태에서도 게임이 정상적으로 작동할 수 있도록 하겠습니다. 따라서 과부하가 걸린 상황에서는 매칭 시간이 길어질 수 있으나 서비스 자체는 다운되지 않고 플레이어에게 지속적으로 응답하며 작동하게 될 것입니다. 

추가로, 플레이 가능한 국가가 증가함에 따라 전투 설정 값이 크게 증가하여 알고리즘에 의한 최적화가 필요하다고 판단되었습니다. 모든 플레이어와 모든 국가를 위한 조합을 찾는 것은 더 복잡한 작업이므로 이러한 최적화 방안을 설정하는 것이 완벽한 방안은 아니지만, 비교적 나은 대책이 될 것입니다.

11월 4일 20:00 KST부터 11월 8일 20:00 KST까지 게임에 로그인하시면 5회 적용 가능한 30% 연구 경험치 부스터를 지급해드립니다

 

더 읽어보기:
툴박스를 만나보세요!
  • 8 4월 2024
매드 썬더: 분노와 약탈
  • 1 4월 2024
배틀 패스 장비: 쿵스티게르
  • 19 4월 2024
배틀 패스 장비: P-51C-11-NT (중국)
  • 18 4월 2024