[SW 정글 117일차] 나만의 무기 25일차 (Artillery)
오늘은 우리의 서비스 부하테스트를 위해 어떠한 라이브러리를 써야하는지 알아보고 간단하게 테스트를 dummy server에서 돌려보았다.
알아본 결과는 node서버에서는 부하테스트(스트레스 테스트)로는 Artillery를 대다수가 사용하는 것같다.
다른 라이브러리가 있는지는 더 많은 글들을 봐야겠지만 일단은 artillery로
일단은 바로 artillery를 설치해보았다.
처음에는 잘 정리된 블로그글을 보며 빨리 익숙해지려고 했는데 블로그글이 오래 전 것이 아님에도 블로그글에 제시된 코드로는 동작하지 않았다.
그래서 공식문서를 보며 따라갔다.
https://www.artillery.io/docs/guides/overview/why-artillery
Why Artillery? | Artillery
- What Artillery is and why you'd want use it
www.artillery.io
가볍게 설치를 진행하고 잘 설치가 되었는지 확인하기 위해 artillery dino를 입력해보라고 해서 입력해보았다.
귀여운 공룡이 나왔다..
그리고 간단하게 테스트를 진행해보려고 했다.
다른 블로그글들에서 아래의 command line을 입력하면 quick mode로 간단한 테스트를 할 수 있다고 하는데 나는 안된다..
./node_modules/artillery/bin/artillery quick --duration 60 --rate 10 -n 20 http://localhost:8080
그래서 공식문서에서 writing-your-first-test을 보고 yaml파일을 만들고 run을 했다.
왜 안될까..... 에러 발생 이유를 구글링해도 잘 나오지 않는다.
uninstall과 install을 반복해도 안된다...
이럴 때 정말 컴퓨터한테 직접 말하고 싶다... 나 이거 해줘 제발..
일단은 간단테스트가 안되는 것을 계속 붙잡을 수는 없어서 내일 팀원에게 한 번 돌려봐달라고 요청을 하고 artillery에서 시나리오를 작성하는 options를 보면서 artillery와 친해지기는 마무리했다.
<오늘 한 것들>
1. 에러잡기
새롭게 마주한 에러였다.
pool connection으로 바꾼 후에도 connection error가 발생해서 뭔가 잘못됐나 했는데 에러문을 잘 읽어보니까 secheduler에서 에러가 난 것이였다.
이유는 secheduler파일에 pool이 선언이 안되었던 것이였다...
그래서 pool을 새롭게 생성해주고 코드를 수정했더니 오늘 자정이 지난 이후에 에러는 발생하지 않았다.
2. 미흡한 부분들 수정
생명체 리스트에서 출생년도가 2줄로 표시되어서 한 줄로 표시되게 해주었다.
간단한 작업이지만 이러한 작은 부분들을 확인해보았다.
그리고 인증수락 목록 페이지에서 인증 요청 유저의 이름이 보이지 않는 것을 수정했다.
<참고 자료>