신속하고 정확한 정보를 바탕으로 프로젝트 수행
PROJECT

비동기 시스템 성능테스트

고객사(공공기관) 메신저 시스템의 성공적인 성능검증

고객사의 기존 메신저는 출근 시간 대에 로그인 접속 지연 현상, 파일전송 시 전송 실패 및 사용자에 대한 친구리스트 상태 정보(ex. 로그인, 로그아웃, 회의중, 자리비움 등) 불일치 등 성능 및 기능 측면에서 여러 문제점이 있었으며, 이를 개선하기 위해서 새로운 메신저 구축 프로젝트를 시작하였다. 특히, 고객은 메신저에서 이메일과 결재 시스템 등 기간시스템을 연계하여 사용하고자 하였고, 이 또한 성능상의 이슈를 발생 시킬 수 있었다.

메신저의 구동방식은 주로 비동기 방식이기 때문에 현실에 맞는 테스트를 진행하려면 각별한 준비가 필요하다. 특히, 로그인 테스트 시에는 사용자가 로그인을 하면 접속된 모든 사용자에게 자신의 상태정보를 비동기 방식으로 각 사용자에게 전달한다. 성능테스트 툴에서는 요청에 대한 응답을 기준으로 응답시간, TPS 등 성능지표를 측정하는데, 비동기 방식으로 전달되는 데이터에 대한 측정은 힘들뿐만 아니라, 비동기로 수신된 데이터를 읽지 않으면 통신이 안되는 문제점도 발생한다. 이러한 제약을 극복하기 위한 방안으로 비동기 데이터를 받아주는 클라이언트를 작성하여, 서버에서 비동기 방식으로 전달해야 하는 데이터는 해당 클라이언트로 전송하여, 서버에서의 비동기 통신에 대한 부하를 재현할 수 있었다.

비동기 통신에 대한 대응책을 마련하고, 현실에 맞는 환경과 유사하게 테스트를 진행하여 메신저 오픈 시에 로그인에 대한 성능 이슈는 발생하지 않았으며, 성공적으로 오픈 할 수 있었다

성능테스트 구성도

< 성능테스트 구성도 >