본 내용은 내일배움캠프에서 활동한 내용을 기록한 글입니다.
그래서 인덱스 여부에 따른 속도 차이를 비교하기 위해서 새로운 테스트 EC2 인스턴스, 데이터베이스가 필요했음
EC2 인스턴스는 배포 서버와 동일한 환경으로 새롭게 생성
그리고 테스트 데이터베이스에는 기존에 있던 엔티티를 제거하기 위해서 외래키를 지운 후 인덱스들을 제거해야 함
그리고 인덱스를 제거하기 전에 로우 쿼리로 실행했을 때의 속도도 같이 측정할 예정
로우 쿼리는 VSCode의 터미널에서 보이는 로우 쿼리를 복사해서 DBeaver 같은 곳에서 실행하면 됨
인덱스 있을 때의 로우 쿼리 소요 시간 (ms)
‘3초 내 응답, 오류는 1% 이내’ 라는 조건일 때, 가능한 최대 접속자 수 (대략 2000명)
인덱스 없을 때의 로우 쿼리 소요 시간 (ms)
3초 내 응답, 오류는 1% 이내’ 라는 조건일 때, 가능한 최대 접속자 수 (대략 1950명)
사실 오늘 2개의 인스턴스를 더 만들어서 간단하게 ALB로 연결했음
하지만 정리가 되지 않아서 내일 정리해서 기록을 남길 예정
여러 EC2 인스턴스를 ALB로 연결하면 단일 인스턴스에서 수용하지 못한 트래픽의 수를 다중 인스턴스를 통해 해결이 가능함
그리고 내일 Auto Scaling을 통해서 기존 서버의 수용 가능한 트래픽을 넘어서면 자동으로 서버를 증설해서 트래픽을 수용할 수 있도록 하는 기능을 설정할 예정
오늘은 인덱스 유무에 따른 속도 차이 테스트를 마무리 함
생각처럼 유의미한 결과가 나오지 않아서 결국에는 다른 테스트로 넘어감
기존에 하던 테스트는 스파이크 테스트라고 해서 한 순간에 많은 트래픽을 줘서 얼마나 버틸 수 있는지를 확인하는 테스트였음
하지만 이후에 진행한 테스트는 많은 트래픽을 꾸준히 줘서 얼마나 많은 트래픽을 수용할 수 있는지 확인하는 테스트를 진행했음
기본적인 ALB 연결은 간단했지만 이 내용을 CI/CD에 적용시키는 것은 굉장히 어려웠음
결국 CI/CD에는 적용하지 못하고 JMeter를 이용해서 간단하게 성능 테스트를 진행함
하루 종일 테스트만 하다가 끝나니 생각보다 허무하게 느껴짐...