2차 사내 스트레스 테스트 후기

EO_7_30_v101_s

7월 30일 2차 스트레스 테스트를 실시했다.

기본적인 전투,이동 방식은 크게 바뀐것이 없었으나 아이템거래 기능은 내부적으로 완전히 바뀌었다.

퀘스트, 스킬, 각종 상태 템플릿, 상태를 발동시키는 아이템, 스킬 등이 추가되었다.

기본적으로 mmorpg에 들어갈 소위 말하는 ‘시스템(난 게임기획자들이 이 말을 쓸때 짜증나서 미칠거 같다.)’들이 들어간 것이다.

1차 테스트의 목적은 실제로 다수의 인원이 몰렸을때 FPS와 비슷한 스타일의 전투가 가능할지 여부, 서버부하,네트워크 부하량의 측정 그간 짠 코드의 결함측정이었다.

2차 테스트의 목적은 1차 테스트의 목적 + 신규 추가된 ‘시스템(정말 이 표현 쓰기 싫다)’의 기능 테스트였다.

또한 대내외적으로 일의 진행 상태를 알리고 한 매듭 짓기 위함이었다.

가장 우려했던 패킷량, 서버의 cpu부하, 복잡한 appear/disappear처리, 비동기 충돌처리 코드등은 1차 테스트때 어느 정도 검증이 되었으므로 큰 걱정은 하지 않았다.

팀의 분위기를 고양시키기 위해, 또 돌다리도 두드려 보기 위해 테스트 전 2주간 모든 팀원 의무 2시간씩 야근을 시행했다.

사실 큰 걱정은 안했다. 안정성 면에서만큼은… 그간 80여회나 빌드를 해왔잖아. 미칠듯한 스트레스를 받아가며…날밤을 새워가며 버그를 잡고 엄격한 테스트를 해왔으니까.

개인적으로는 야근이라 해도 좀 느긋한 분위기에서 개발을 즐긴다랄까..그런 기분으로 임하는 면도 있었다.

마는….

여지없이 테스트 전날이 되자 생각지 않았던 버그가 터져나왔다.

사실 최초의 시드가 된 버그는 그렇게 치명적인 것은 아니었다. 캐릭터가 사망했다가 부활할때 애니메이션이 약간 잘못 나오는 정도.

테스트 전날에는 감히 코드에 손을 대는게 아니었는데…절대 코드에 손대지 말라고 말해놓고서는, 정작 내가 그 버그를 잡기 위해 코드를 헤집어놨다.

그 버그를 잡자 다른 버그가 터져나왔고, 곧 연쇄적으로 관련이 있음을 직감했다.

시간은 오후 4시가 넘은 시간.

심장이 마구 뛰었다. 일단 우리 팀원들 회사에 남아있는 동안에 버그없는 코드로 말끔하게 체크인 하고 우리끼리의 테스트를 완벽하게 끝내야한다. 그런데 지금 이렇게 버그가 있어서야…

미친듯이 키보드를 두드리고 내 자리 주변에 앉은 프로그래머 두명과 기획자 두명이 달라붙어 실시간으로 계속 테스트에 매달려서 오후 5시반 경에 버그 없는 코드로 체크인 했다.

6시 반까지 12명 테스트를 하고 저녁 먹고 8시 반까지 테스트를 해서 이상없이 전야 테스트를 완료.

정말 살 떨리는 하루였다.

여튼 약간의 뿌듯함, 두려움, 긴장감을 안고 퇴근했다.

테스트 당일 6시반에 기상, 도저히 잠을 더 잘 수 없었다.

부리나케 회사로 뛰어가서 서버를 오픈하고 DB에 그동안 기록된 퍼포먼스 로그도 모두 초기화했다.

우리 팀원들끼리의 테스트를 위해 점심시간 전까지 서버를 열어두었다. 다른 팀 사람들이 접속하여 동접 30여명 정도로 점심시간까지의 간이 테스트를 완료. 아무 문제 없었다.

오후 1시 40분경 정식 테스트를 위해 서버를 오픈. 정식 테스트 시작을 메일로 알렸다.

꾸역꾸역 사람들이 들어오고 나도 PC두대로 동영상을 찍어가며 게임을 플레이했다.

1시간쯤 지나서 동접이 112명을 쳤다. 회사 전직원이 215명쯤 되니까 동접 160정도는 나와주지 않을까 기대했으나 유감스럽게도 동접 112에서 더 오르지 않고 110명 선을 유지했다.

그러다가…

NPC서버가 크래시했다. 헉. 이럴수가. 터미널로 화면을 보다가 크래시 팝업을 보고 곧바로 디버거를 연결했다.

디버거의 화살표는 만일의 경우를 대비해서 걸어둔 디버그 브레이크를 가리키고 있었다. 머리속이 하얗게 됐다.

일단 대충의 원인은 파악했지만 지금은 디버깅을 할 수 없다. 일단 서버부터 다시 켜야한다. 아 근데 버그는 그냥 있잖아. 샹…

사실 내부 테스트니까 그다지 큰 문제는 아니었지만.

쪽팔렸다.

정말 쪽팔렸다.

내가 시바. 뛰어난 관리자는 못되어도 나름 자부심을 가진 10년차 프로그래머인데…내가 기술로는 이 회사 짱먹는다고 생각했는데…

110명이나 들어와있는데 서버가 크래시해서 유져들을 쫓아내야한다니.

쪽팔렸다.

원래 설계로는 NPC서버 프로세스만 종료했다가 다시 실행하면 유져들을 쫓아내지 않아도 되지만, 귀찮아서 확인 안한 어느 코드 몇줄 때문에 NPC(몬스터포함)를 재투입하기 위해 게임서버까지 내렸다가 다시 올려야했다.

할수 없이 공지를 하고 세개의 서버 프로세스 종료후 다시 실행했다.

서버 크래시 후 재접속 인원은 60여명. 최고동접 69명이 고작이었다.

서버가 불안정하면 게임이 망한다는 사실을 단적으로 증명한 간이 테스트다.

남은 시간 알뜰한 테스트를 위해 우리 팀원들이 달라붙어서 사람들을 인솔했다.

파티를 만들고 보스 던전으로 데려갔다. 문화상품권을 받을 수 있는 기회에요~ 라고 꼬셔서…

4시 40분 경에 사람들을 마을 앞마당으로 모이도록 하고 스샷과 동영상을 찍었다.

여기서 빈번한 패킷전송으로 인한 네트웍 부하를 확인.

1차 테스트때 충분히 검증했다고 생각했는데 아직 손을 더 봐야겠다. 50명 모여서 좀 흔들어대니 생각보다 문제가 컸다.

어쨌건 스샷 찍고 동영상 찍고 감사의 멘트를 날리고 5시 10분 경에 테스트를 종료했다.

버그의 경중을 떠나서 서버가 한번 크래시했기 때문에 기분이 개운치 못했다.

그래도 테스트 중에 다른 팀 사람들과 플레이 하면서 나름 ‘이 사람들이 재밌게 플레이하고 있구나…’ ‘이전에 없던 방식이라 재밌어 하는구나…’라고 느꼈었다.

그런데 사내 테스트 게시판에 올라온 글과, 설문 결과를 보니 기분이 상당히 나빠졌다.

대체 뭘 바랬던건지. 난 분명히 사람들이 재밌게 플레이하고 있다고 느꼈는데 왜 이리 욕이 많은지.

전투가 재미없다고? 컨트롤이 재미없다고?

로켓런쳐 미친듯이 쏴대면서 뛰어다녀놓고는…재미없다고?

이해할 수 없었다.

일부러 테스트날에 맞춰 회식을 잡았으므로 회식 장소로 이동하긴 했지만, 역시 기분은 씁쓸했다.

한번의 크래시, 생각보다 안좋았던 네트웍상태, 회사 사람들의 평판, 다 실망스러웠다.

테스트가 끝나고 몇 일동안, 사실 이 글을 쓰고 있는 지금까지도 기분이 안좋고 실망스럽다.

특히 회사 임원이 아무렇지도 않게 게시판에 쓴 한마디는 정말로 큰 상처가 됐다.

자기는 아무 생각 안하고 썼겠지.쯧.

할 수 없지. 이보다 잘 만들었어도 까였을테니까.

이 프로젝트 시작할때부터 NT 1.0처럼 되리라 생각은 했었다.

‘제대로 된 물건을 만들어보고 싶다.’. ‘혁신을 이루고 싶다.’ 라고 생각했지만 그런 의도 자체가 아킬레스건이 되리라 예상했었다.

1차테스트 때 처럼 다소 감상에 젖은, 약간의 자부심에 찬 그런 후기를 쓰고 싶었는데 유감스럽게도 이번엔 그리 되진 못했다.

그렇게 씁쓸한 기분으로 2차 스트레스 테스트를 마쳤다.

테스트 종료 10분전 스샷 한장 첨부한다.

뭐 여기 오는 사람도 별로 없으니 스샷이 돌아다니진 않겠지.


답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중