인프런 커뮤니티 질문&답변
부하테스트 시나리오
작성
·
10
0
안녕하세요 강사님
Artillery 를 통해 혹시 부하테스트를 잡을 때 기능별로 잡을 때
앱에서 기능 테스트를 할 때 채팅이나 추천시스템 api 에 부하테스트를 줄 경우
STOMP 같은 거는 ui를 작성해주지 않으면 테스트 가 어려운 걸로 알고 있습니다.
공식문서를 봤을 때 웹소켓 말고는 안 나와 있는데 이런 것도 현업에서는 ngrinder로 테스트 하나요?
취준생 입장에서는 테스트를 어떻게 하면 좋을 지 궁금해서 질문 드립니다.
추천시스템 api도 궁금합니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. KMC님.
Artillery를 활용한 부하 테스트에서 웹소켓 기반 시스템, 특히 STOMP 기반의 채팅이나 추천시스템 API에 대한 테스트는 일반적인 HTTP 요청과는 다른 접근이 필요합니다. STOMP 프로토콜은 웹소켓을 통해 메시지를 주고받는 방식이므로 이에 맞는 테스트 환경을 설정해야 합니다.
웹소켓 지원 테스트 도구: Artillery는 웹소켓을 기본적으로 지원합니다. STOMP 프로토콜도 웹소켓을 기반으로 하므로, STOMP 메시지를 웹소켓 프레임으로 직접 보내어 테스트할 수 있습니다. JSON 형식의 메시지를 직접 전송하며, 이를 통해 서버의 응답 시간을 측정해볼 수 있습니다.
ngRinder 활용: 현업에서는 nGrinder로도 웹소켓 테스트를 수행할 수 있지만, 구체적인 지원 프로토콜이나 기능은 프로젝트 설정에 따라 다릅니다. 이러한 도구들은 초반 설정이 복잡할 수 있지만, 한번 설정하면 다양한 테스트 시나리오를 쉽게 반복할 수 있는 장점이 있습니다.
취준생을 위한 팁:
- 초기 기술 학습 목적이라면, Artillery와 같은 간단한 도구로 시작하여, JSON 형식으로 STOMP 메시지를 웹소켓으로 전송하는 방식으로 테스트해보세요.
- 추천 API의 경우, 부하 테스트 시 요청 빈도를 조절하여 서버의 부하를 측정할 수 있습니다. 추천 알고리즘의 복잡도에 따라 서버 자원 소모가 클 수 있으므로, 각 요청에 대한 응답 시간과 서버 상태를 모니터링하여 최적화 방향을 설정하세요.
- 초기 기술 학습 목적이라면, Artillery와 같은 간단한 도구로 시작하여, JSON 형식으로 STOMP 메시지를 웹소켓으로 전송하는 방식으로 테스트해보세요.
추가로 관련 질문이나 해결책이 될 만한 내용을 찾지는 못했지만, 다음 링크들을 참고하여 부하 테스트의 개념이나 접근 방식을 더욱 이해할 수 있을 것입니다:
- 로그인 한 유저만 접근 가능한 API도 부하테스트가 필요할까요? - 부하 테스트의 필요성에 대한 이해를 도울 수 있습니다.
- 외부 api는 어떻게 테스트해야 하나요 ? - API 부하 테스트 전략에 대한 논의를 포함합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





