아틀러리 : *부하테스트 중 하나. 간편하게 사용할 수 있는 기능과 유연성을 제공. 효과적으로 테스트 할 수 있는 오픈소스 라이브러리
*부하테스트 : 성능테스트 안에 부하테스트. 스트레스 테스트 가 있음. 그 중 부하 테스트는 1초에 몇 개 가능한지 성능체크 라고 생각하면 됨
주제 | 아틀러리 테스트 |
작성이유 | 참고하기 위해 |
문제상황 요청에 대한 응답속도가 느림을 파악 후 최적화를 위해 초당 100회 요청 시 0.3ms이하로 나오는 것을
목표했는데, 그 이유는 보통 유저들은 1초이상 안기다리므로 목표는 1초 이하 && 보통 응답속도 맥스가
0.5초 정도 이므로 => 무조건 0.5초 이내로 응답 오는 것을 목표로
- 테스트 케이스는 (1. 미적용시, 2. 인덱스만 적용시, 3. 인덱스&레디스 캐쉬 적용시)
총 3가지로 두고 테스트하였음
목표 | API를 초당 100번 호출 시 건당 300ms 를 목표설정 후 응답속도 향상 |
해결방법 | index 적용 && 레디스 캐시 도입 |
해결방법 풀이 | <인덱스 적용 : Mysql> <레디스 캐시 도입> <결과 - 보고서> 검색 조건을 적용하지 않았을 때보다 Index 와 Redis Cache를 적용했을 때 현저히 빨라지는 것을 볼 수 있음 |
결과 참고 |
초당 100번의 API 요청을 180초 동안 수행한 부하 테스트 결과 9.2초에서 -> 0.07초로 성능향상하여 유의미 하게 빨라진 것으로 보아 성능 개선이 크게 나타났습니다. https://www.artillery.io/ |
테스트 후 그래프 정리