TheKoguryo's 기술 블로그

Version 2019.06.03

13.3 Autoscaling 테스트

Scale Out 발생 테스트

  1. Instance Pool로 이동해서 현재 있는 Compute 인스턴스에 SSH로 접속합니다.

  2. stress 툴 설치

    sudo yum install stress
  3. stress 수행

    sudo stress --cpu N

실행 예시

사용할 Compute Instance의 CPU에 갯수에 맞춰 조정하여 부하를 계속 줍니다.

[opc@autoscailingwebserver ~]$ sudo stress --cpu 4
stress: info: [5806] dispatching hogs: 4 cpu, 0 io, 0 vm, 0 hdd

부하발생 중 모니터링

  1. 만든 Autoscaling Configuration에서 사용하는 Instance Pool을 선택합니다.
    그림

  2. Instance Pool의 OCID를 복사해 둡니다.
    그림

  3. OCI 콘솔에서 내비게이션 메뉴의 [Solutions, Platform and Edge] >> [Monitoring] >> [Metrics Explorer] 클릭

  4. 오른쪽 아래 Query Editor에서 Autoscaling 설정에 사용한 메트릭을 선택하고, 모니터링를 대상을 앞서 복사해둔 Instance Pool OCID로 지정합니다.
    그림

  5. Metrics Explorer 대시보드에 Query 결과를 볼 수 있습니다.

    그림

Scale Out 확인

  1. 지정한 Cooldown을 초과하여 부하가 계속발생하여 그림과 같이 Autoscaling이 발생합니다.
    그림

  2. Instance Pool에 서버 추가가 완료된 모습
    그림

  3. Load Balancer의 Backend Set에서 신규 서버가 추가됨
    Health - Backend Set의 Health Check 간격에 따라 상태체크하는데 시간이 걸립니다.
    그림

  4. 서버 추가로 인해 Instance Pool의 평균 CPU 부하는 반으로 내려감
    그림

  5. 브라우저를 통해 LB의 Public IP로 접속합니다.
    그림

  6. 브라우저를 리프레쉬합니다.
    그림

Scale In 확인

  1. 1번 서버 SSH 접속 터미널에서 주던 부하를 중지합니다.

    [opc@autoscailingwebserver ~]$ sudo stress --cpu 4
    stress: info: [5806] dispatching hogs: 4 cpu, 0 io, 0 vm, 0 hdd
    [opc@autoscailingwebserver ~]$
  2. 모니터링에서 Instance Pool의 평균 CPU 부하 감소 확인
    그림

  3. 부하가 줄어들어 그림과 같이 Autoscaling이 발생합니다.
    그림

  4. 먼저 생성된 인스턴스가 종료됨
    그림

  5. Scale In 완료
    그림

  6. Load Balancer의 Backend Set에서도 삭제된 것이 확인됨.
    그림



** 이 글은 개인으로서, 개인의 시간을 할애하여 작성된 글입니다. 글의 내용에 오류가 있을 수 있으며, 글 속의 의견은 개인적인 의견입니다. **
Last updated on 7 Mar 2019