Page History
Info |
---|
2008년 2005년 분산처리(성능테스트) 시스템 구현을위해 사용했던 용어및 기술이 어떻게 변화되었는지? 경험기준, AKKA와 연관하여 작성해보았습니다. |
로드 테스트를 위한 분산처리 시스템
2008년제작되었으며2005년제작되었으며, 저수준 모듈을 포함(TCP) 모두 구현해야 했던 시기이다.
로드 테스트 컨트롤러
- 분산되어 있는 Agent에게 게임 플레이어를 가능하게하는 명령이 가능하였습니다.
- 다양한 환경의 네트워크환경에서 대량의 부하테스트를 해야했으며, 클라우드환경이 없었으며 한국의 PC방 인프라를 이용해야했으며 수십명의 사람을 여러 PC방에 출동시켜 Agent를 구동하였습니다. - PC방을 마비시키지 않는선에서 진행되었으며 이때 레더점수를 관리하는 사용자에게는 베틀넷렉이 간헐적으로 발생했기때문에 미안한일이 였습니다.) 10만 이상의 커넥션을 발생시키고 커넥션을 유지하고 측정하는 것은 현재로서도 결코 쉬운일은 아닙니다.
- 비정상 커넥션 테스트를 위해 Disconnect와 Close를분리 , 모뎀사용자도 많이있었으며 통신상태가 안좋았기때문에 재접속을 통한 게임재개기능제공은 중요한 기능중 하나였습니다.
- 실시간 게임중, 무중단 서버업데이트도 가능하였으며 게임트랜스퍼라고 불리었으며 이 기능을 항상 유지하는것이 어려운과제중에 하나였습니다. ( 개발 난이도보다는, 버전업마다 QA에서 항상 풀테스트 수행 )
제작히스토리
테스트를 위해 멀티플리이어게임에서 1명이 모든역활을 수행하면서 다중으로 플레이를 하기 어려웠으며
QA팀이 테스트를위해 가상으로 게임을 진행할수 있는 Bot이 필요하였으며(2008년 2005~2006 년 당시 국내 IT개발기업에서 개발자2~3명당 QA한명배치된것은 이례적입니다. ),
...
( 로스테스트에 활용된 HP서버를 대량으로 구매한후 기기검증을 한후, 해외 인프라팀에 배송 - 클라우드가 없던시절 )
Jmeter/loadrunner?
로드 테스트를 구축하야한다고하면 , 직적 분산시스템을 작성할 필요없이 HP-로드러너와 같은 테스툴을 활용할고 측정할수 있습니다.
...
- JVM 테스트기는 C++에 최적화된 서버 장기간 지속 부하테스트를 못함 , 로드러너가 GC(또는 메모리릭)를 견디지 못하고 먼저 뻗었습니다. - JVM이 7이하였던것같고 현재는,GC가 많이 최적화되어 메니지드에서도 가능할것으로 추정합니다.
분산처리 시스템
...
2005 vs AKKA
분산처리 시스템은 2008년 2005년 C++로도 작성된 어플리케이션으로도 가능하였으며, 이때는 모든것을 대부분 구현해야 했습니다.
...