운영 이슈 테스트
Chaos Monkey for Spring Boot
Chaos Monkey의 관찰 대상 -> 공격 대상
Choas Monkey의 공격
pom.xml에 의존성 추가
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>chaos-monkey-spring-boot</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
카오스 멍키 활성화
방법 1. application.properties에 작성
spring.profiles.active=chaos-monkey
방법 2. Run/Debug Configurations에서 profile 설정
(그림 넣기)
Spring Boot Actuator 엔드 포인트 활성화
Actuator를 통해 Chaos Monkey를 사용하기 위해 설정이 필요함
management.endpoint.chaosmonkey.enabled=true
management.endpoints.web.exposure.include=health,info,chaosmonkey
활성화 시키는거는 런타임 시 안됨
지난 포스팅에서 JMeter를 가지고 Spring Boot Application에 부하 테스트를 진행해보았다
이번 실습에서는 두가지의 결과를 비교할 것이다
단순 JMeter 부하 테스트
Thread Group 20 / Loop 20 설정
결과 1
결과 2
Chaos Monkey Exception 발생 설정 적용후 부하 테스트
level=5 -> 5번의 요청마다 Exception 발생 하도록 설정
exception.type = RuntimeException -> 발생하는 Exception은 RuntimeException
실행 순서
카오스 몽키 의존성 추가 및 실행
카오스 몽키 활성화
카오스 몽키 활성화 확인
카오스 몽키 왓처 확인 (repostiory를 와처에 추가)
결과
5번 호출 시 마다 RuntimeException 발생 확인
모든 요청에 대해서 Error 발생 비율 확인
이렇게 JMeter와 Chaos Monkey를 활용해서 Application Test를 진행해보았습니다. 두 기능을 이용해서 앞으로 더욱 견고한 애플리케이션을 만들도록 해보겠습니다.