TheKoguryo's 기술 블로그

 Version 2024.11.15

13.3 Autoscaling 테스트

Step #5: 부하 발생에 따라 Instance Pool내에 인스턴스 수 증가 - Scale Out 테스트

  1. Instance Pool로 이동해서 현재 있는 Compute 인스턴스의 IP를 확인한 뒤 SSH로 접속합니다.

  2. stress 툴 설치

    sudo yum-config-manager --enable ol8_developer_EPEL
    sudo yum install -y stress
    
  3. stress 수행

    sudo stress --cpu N
    
  4. 실행 예시

    사용할 Compute Instance의 CPU에 갯수에 맞춰 조정하여 부하를 계속 줍니다. 오토스케일 설정시 정한 Cool Down을 값을 고려하여 그 시간 이상 부하를 줍니다.

    [opc@web-server-template ~]$ sudo stress --cpu 4
    stress: info: [42769] dispatching hogs: 4 cpu, 0 io, 0 vm, 0 hdd
    

부하발생 중 모니터링

  1. OCI 콘솔에서 내비게이션 메뉴를 엽니다. Compute > Instance Pools 항목으로 이동합니다.

  2. Autoscaling 할 Instance Pool의 상세화면으로 이동합니다.

  3. Resources > Metrics 에서 인스턴스 풀에 대한 모니터링을 지원합니다.

  4. Metric namespace는 oci_computeagent를 선택하면 인스턴스 풀에 속한 VM 들에 대한 메트릭 정보를 볼 수 있습니다. 아래와 같이 CPU 부하가 모니터링 되고 있습니다.

    image-20230509205244642

Scale Out 확인

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

    image-20230509205302698

  2. Instance Pool 상세 정보에서 서버 추가가 완료된 결과를 볼 수 있습니다.

    image-20230509205344772

  3. Load Balancer의 Backend Set에서 신규 서버가 추가되는 것을 볼 수 있습니다.

    image-20230509205428287

  4. 서버 추가로 인해 Instance Pool의 평균 CPU 부하는 반으로 내려간 것을 볼 수 있습니다.

    image-20230509205958620

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

    image-20230509205642425

  6. 브라우저를 리프레쉬합니다. 잘 분배되는 것을 볼 수 있습니다.

    image-20230509205716808

Step #6: 부하 감소에 따라Instance Pool내에 인스턴스 수 감소 - Scale In 테스트

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

    [opc@web-server-template ~]$ sudo stress --cpu 4
    stress: info: [42769] dispatching hogs: 4 cpu, 0 io, 0 vm, 0 hdd
    ^C
    [opc@web-server-template ~]$
    
  2. 모니터링에서 Instance Pool의 평균 CPU 부하가 감소되었습니다.

    image-20230509211622353

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

    image-20230509211001393

  4. Work Requests 상의 로그를 보면 Load Balancer에서 먼저 인스턴스를 백엔드 셋에서 제외하고 종료하는 순으로 Scale In이 됩니다.

    image-20230509211344547

  5. Scale In 완료

    image-20230509211306868

  6. Load Balancer의 Backend Set에서도 삭제된 것이 확인됨. image-20230509211454514



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

Last updated on 17 Jan 2022