본 내용은 내일배움캠프에서 활동한 내용을 기록한 글입니다.
지난번 스파이크 테스트는 짧은 시간 동안 많은 트래픽으로 서비스에 요청을 해서 서버가 버티는지 확인하는 테스트였음
이번에 진행하는 테스트는 인스턴스 1개로 시작해서 부하(트래픽)를 점점 늘렸을 때 Auto Scaling으로 생성된 인스턴스에 의해서 부하를 어떻게 수용하는지 확인하기 위한 테스트임
예상으로는 인스턴스 1개였을 때 부하가 너무 많으면 다음 인스턴스가 생성될 때까지 성능이 떨어지다가 인스턴스가 생성되면 성능이 다시 오르는 형태를 반복할 것 같음
그래서 기존에 대상 그룹으로 ALB에 연결된 4개의 인스턴스 중 1개를 제외하고 모두 대상 취소 시킴
인스턴스 하나만 연결됨
그래서 트래픽이 많아질 경우 Auto Scaling을 통해서 인스턴스가 동적으로 생성되고 그로 인해 트래픽이 분산되어 요청 응답 시간이 줄어드는 것을 확인하는 테스트를 진행할 예정
1차 테스트
다시 테스트하기 위해서 인스턴스를 1개만 남도록 만듦
2차 테스트
2차 테스트에서도 인스턴스가 추가되었을 때는 정상적으로 응답 시간이 줄어들지만 인스턴스 4개로도 수용되지 않아 이후에는 응답 시간이 늘어나는 모습을 보여주고 있음
3차 테스트
3차 테스트에서는 전체 쓰레드의 수를 2차보다 조금 줄였는데 인스턴스가 생성된 시간과 비교했을 때 시간이 줄어드는 모습을 찾기는 다소 어려워 보임
아직까진 1차, 2차 테스트가 응답 시간이 줄어드는 모습이 그나마 잘 보임
그리고 시간이 지나니 Auto Scaling에서 자동으로 인스턴스의 수를 최소로 맞춰서 인스턴스를 종료시킴
이는 사용자에게 트래픽이 많을 때도 응답 시간을 줄여줌으로써 서비스 이용이 용이하게 할 수 있음
다만, 인스턴스가 생성되고 활성화 되기까지의 시간은 필요함
내일은 최종 프로젝트에서 협력사에서 프로젝트 소개하기 위한 브로셔를 작성할 예정
내가 맡은 부분은 서비스 핵심 기능을 작성하는 역할임
일단 오늘은 어떤 기능들에 대해서 서술할지 기능들만 나열함
내일 실제 프론트엔드 모습의 사진과 설명을 통해서 작성할 예정
오늘은 Auto Scaling을 통해서 트래픽의 변화에 따른 인스턴스 확장 및 축소에 대해서 테스트함
Auto Scaling 그룹에서 동적 크기 조정 정책을 정하면 그 조건에 해당하는 경우 인스턴스가 확장됨
이번 테스트에서의 목적은 인스턴스가 확장되었을 때의 요청 시간의 감소가 이루어 졌는지를 보기 위한 테스트임
1차 테스트인 60000개의 요청에서 Auto Scaling에서 생성한 인스턴스가 생성되면서 응답 시간이 줄어 드는 것을 확인함
나머지 2, 3차 테스트에서도 인스턴스가 생성되면 응답 시간이 줄어들긴 하는데 중간 중간에 발생하는 에러로 응답 시간이 들쭉날쭉임
아마도 10만과 8만개의 트래픽은 인스턴스 4개로는 무리라서 저런 결과가 나온게 아닐까 함